Vous êtes sur la page 1sur 36

Gmail

*Andr Goto <goto.andre@gmail.com> *

-----------------------------------------------------------------------*Fwd: ROS Wrapper for Libbarrett* 57 mensagens -----------------------------------------------------------------------*AJung Moon * <ajungmoon@gmail.com> 22 de agosto de 2012 16:42 Para: Andr Goto <goto.andre@gmail.com> Cc: Amir Haddadi <amir.haddadi@gmail.com> FYI svn for the ROS wrapper. Andre, please contact Kyle (email below) if you have any questions regarding the wrapper. In your emails to him, mention that you're working with me, and he'll know where you're coming from. :) AJung ---------- Forwarded message ---------From: *Kyle Maroney* <km@barrett.com <mailto:km@barrett.com>> Date: 7 June 2012 11:07 Subject: Re: ROS Wrapper for Libbarrett To: AJung Moon <ajungmoon@gmail.com <mailto:ajungmoon@gmail.com>> Hi AJung, I hope you are enjoying your new BarrettHand! The barrett-ros-pkg is a ROS repository readily available for download at: svn co http://web.barrett.com/svn/barrett-ros-pkg <http://web.barrett.com/svn/barrett-ros-pkg> I apologise for the previous confusion, but I am happy to let you know that our ROS Software package takes care of communication with the BarrettHand! As I have just recently announced this software package, there is not a large documentation base to date. This is something that I am working on currently, and will point you to more documentation when it is available. In the mean time, I would love for you to use the package and I am here to provide support. Currently we are starting collaborative efforts IRI-UPC, Harvard, and JHU regarding integration These include a new simulator, motion planning, I am currently creating a mailing list to unite please let me know if this is something you are Regards, -Kyle Maroney Robotics Engineer Barrett Technology 625 Mount Auburn St. Cambridge, MA 02138, USA with students from of all our efforts. and Orocos RT Control. all of our efforts, interested in.

On 05/28/2012 07:11 PM, AJung Moon wrote: > Hi Kyle, > I hope this email finds you well. I am just writing to follow up on > our conversation from a couple of months ago regarding the ROS wrapper > for libbarrett. Are there any initial documentations (an overview of > some sort) on the wrapper available that we can take a look at? > > On a related note, we have recently received our WAM hand (BH8-280 > BarrettHand) that we are very excited to start using for our research. > And we are aware that libbarrett can be used to control the hand. But, > given that the to-be-released ROS wrapper for libbarrett will not > support the control of BarrettHands, is it possible to control the > robot (arm) through ROS, and control the BarrettHand outside of ROS > using libbarrett at the same time even when they share the same CANbus > card? > > Best, > > AJung > > On 27 March 2012 09:21, Kyle Maroney <kpm@barrett.com > <mailto:kpm@barrett.com>> wrote: > > Hi AJung, > > I would like to reply in response to your inquiry on Barrett > Technology's ROS development. I am happy to let you know that we > are in fact developing a ROS repository based on our Libbarrett > control library. The release time-frame for our repository is > tentatively scheduled for mid-May preceding ICRA, and ROSCON. > > The WAM node has been designed to allow for real-time joint and > cartesian control of the WAM, as well as a number of service calls > for simple control commands. > > I hope this clears up your questions, feel free to contact me again. > > Regards, > > -> Kyle Maroney > Robotics Engineer > Barrett Technology > 625 Mount Auburn St. > Cambridge, MA 02138, USA > > >> -------- Original Message ------->> Subject: ROS Wrapper for Libbarrett >> Date: Tue, 27 Mar 2012 08:54:44 -0700 >> From: AJung Moon <ajungmoon@gmail.com> <mailto:ajungmoon@gmail.com> >> To: pb@barrett.com <mailto:pb@barrett.com> >> >> >> >> Hello Mr. Botticelli, >> >> I am AJung Moon, a student of Dr. Croft at the CARIS lab, >> University of British Columbia. I believe you met Dr. Croft at >> the HRI conference a few weeks ago.

>> I left you a voice message a few minutes ago, and realized that >> you may not be able to reach me via the number I left on the >> message (there's some cell phone reception issues at the lab today). >> >> We have a WAM at the lab that has been running under the BtClient >> system in conjunction with the WAMinterface ROS package. >> I understand that support for BtClient has discontinued, and we >> are planning to install Libbarrett or other drivers to interface >> the WAM. >> >> However, before moving on to Libbarrett, we'd like to ask you a >> few questions regarding Libbarrett's interface with ROS. >> Dr. Croft mentioned that you might be working on a ROS wrapper >> for Libbarrett and recommended me to contact you. >> >> Hence, I'd like to confirm with you that there is a ROS wrapper >> being developed for Libbarrett, and whether this wrapper is >> structured to allow real-time trajectory control of the robot >> while interfacing with ROS. >> The set-up that we are looking for involves ROS-based codes that >> generate various trajectories in real-time, which then is used to >> control the robot in real-time. >> >> In my previous set-up with BtClient-WAMinterface, the software >> architecture of the WAMinterface did not allow for a smooth and >> high frequency communication between ROS-based trajectory >> generator codes and BtClient. Hence, I resorted to generating >> analogous trajectory generators in BtClient that is interfaced >> with higher level trajectory management codes in ROS. The >> performance of this set-up was not optimal, since even sending >> simple commands from ROS to the trajectory generators in BtClient >> resulted in delays. >> >> We'd like to avoid this problem as much as we can in the near >> future, and would very much appreciate your help in determining >> whether Libarrett-ROS interfacing is subject to similar challenges. >> Please do feel free to contact me at my office phone should you >> find it easier to clarify the above-mentioned questions over the >> phone (+1.604.822.3147 <tel:%28%2B1.604.822.3147>). >> >> Thank you very much in advance, >> >> AJung >> >> ->> AJung Moon >> University of British Columbia >> Mechanical Engineering, MASc (Candidate) >> Collaborative Advanced Robotics and Intelligent Systems Lab >> >> Office: +1.604.822.3147 <tel:%2B1.604.822.3147> >> Web: http://www.RoboethicsDB.com >> Twitter: http://twitter.com/RoboEthics >> Profile: http://profile.amoon.ca > > > > > -> AJung Moon

> > > > > > > >

University of British Columbia Mechanical Engineering, MASc (Candidate) Collaborative Advanced Robotics and Intelligent Systems Lab Office: +1.604.822.3147 <tel:%2B1.604.822.3147> Web: http://www.RoboethicsDB.com Twitter: http://twitter.com/RoboEthics Profile: http://profile.amoon.ca

-AJung Moon University of British Columbia Mechanical Engineering, PhD Student Collaborative Advanced Robotics and Intelligent Systems Lab Office: +1.604.822.3147 <tel:%2B1.604.822.3147> Web: http://www.RoboethicsDB.com Twitter: http://twitter.com/RoboEthics Profile: http://profile.amoon.ca -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 24 de agosto de 2012 18:17 Para: km@barrett.com Hello Kyle, I am Andr Goto, an intern at the CARIS lab, and I am currently working with AJung on a project which involves ROS and Libbarrett to move the WAM according to a predefined trajectory (calculated within ROS) on real-time, with cartesian coordinates, using the mentioned package. Following the conversation below, I would like to ask you whether there is any documentation about the barrett-ros-pkg available, as well as express my interest in joining the mailing list with fellow users. I hope we could work on this together, and I will definitely be using the package, so any help would be greatly appreciated. Thank you in advance, Andr [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Kyle Maroney * <kpm@barrett.com> 27 de agosto de 2012 14:23 Para: Andr Goto <goto.andre@gmail.com> Hi Andr, Thanks for contacting us! Please find my response in-line below. I am Andr Goto, an intern at the CARIS lab, and I am currently working with AJung on a project which involves ROS and Libbarrett to move the WAM according to a predefined trajectory (calculated within ROS) on real-time, with cartesian coordinates, using the mentioned package.

Great! This is exciting work and ROS should prove as great middleware for the project. Barrett-ros-pkg is capable of subscribing to RTCartPos messages for Cartesian positions. The format for which can be found in the wam_msgs package. Also found in that package is RTPose messages for simultaneous position and orientation control. The wam node has been designed to be capable of tracking the poses as fast as you can publish them. Following the conversation below, I would like to ask you whether there is any documentation about the barrett-ros-pkg available, as well as express my interest in joining the mailing list with fellow users. Unfortunately, I have not written out much documentation to date. This is something I do plan on doing for ros.org <http://ros.org> when more time is available. Also, our IT expert has been setting up the mailing list. This is something that should come online shortly and I will keep you updated. In the mean time, I am happy to guide you along and give you help when you need it! Please let me know how I can help. I love ROS and our work to support it so please feel free to contact us again! [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 28 de agosto de 2012 18:47 Para: Kyle Maroney <kpm@barrett.com> Hi Kyle, Thank you for your detailed response and support! Lately, I have been experimenting with Libbarrett API to move the WAM Arm (mainly with the example codes). The next step would be understanding how the wrapper works so I can integrate my ROS code, which calculates cartesian trajectories and publishes them under the form of messages, with the Libbarrett code. It seems that wam_node.cpp is the key file to understand. So I have compiled it and tried to run within ROS, but I had a segmentation fault during the execution of the code. I had a roscore running and I have tried to launch it directly (with rosrun) and using the launch file (with roslaunch), but both attempts did not work. After placing some checkpoints, I have found out that the error occurs upon WamNode initialization: void WamNode<DOF>::init(ProductManager& pm) { # ROS_INFO("Checkpoint"); ros::NodeHandle n_("wam"); // WAM specific nodehandle (...)

By adding the checkpoint line, I verified that the program prints the string, but fails in the next command (during the NodeHandle definition). The WAM display also accuses a Heartbeat fault. Do you have any ideas on what could be happening? Again, thank you for your help! Regards, Andr [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Kyle Maroney * <kpm@barrett.com> 28 de agosto de 2012 18:59 Para: Andr Goto <goto.andre@gmail.com> Andr, What is your hardware setup? Do you have a BH8-280 hand? Does it segfault right at the start of the node - rosrunning the wam_node or after you shift-activate? Regards, Kyle On Tue, 28 Aug 2012 18:47:15 -0700, Andr Goto wrote: Hi Kyle, Thank you for your detailed response and support! Lately, I have been experimenting with Libbarrett API to move the WAM Arm (mainly with the example codes). The next step would be understanding how the wrapper works so I can integrate my ROS code, which calculates cartesian trajectories and publishes them under the form of messages, with the Libbarrett code. It seems that wam_node.cpp is the key file to understand. So I have compiled it and tried to run within ROS, but I had a segmentation fault during the execution of the code. I had a roscore running and I have tried to launch it directly (with rosrun) and using the launch file (with roslaunch), but both attempts did not work. After placing some checkpoints, I have found out that the error occurs upon WamNode initialization: void WamNode::init(ProductManager& pm) { # ROS_INFO("Checkpoint"); ros::NodeHandle n_("wam"); // WAM specific nodehandle (...) By adding the checkpoint line, I verified that the program prints the string, but fails in the next command (during the NodeHandle definition). The WAM display also accuses a Heartbeat fault. Do you have any ideas on what could be happening?

Again, thank you for your help! Regards, Andr 2012/8/27 Kyle Maroney [Texto das mensagens anteriores oculto] This is something I do plan on doing for ros.org <http://ros.org> [1] when more time is available. Also, our IT expert has been setting up the mailing list. This is something that should come online shortly and I will keep you updated. In the mean time, I am happy to guide you along and give you help when you need it! Please let me know how I can help. I love ROS and our work to support it so please feel free to contact us again! Regards, -Kyle Maroney Robotics Engineer Barrett Technology 625 Mount Auburn St. Cambridge, MA 02138, USA

Links: -----[1] http://ros.org [2] mailto:kpm@barrett.com <mailto:kpm@barrett.com> [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 29 de agosto de 2012 12:42 Para: Kyle Maroney <kpm@barrett.com> Hi Kyle, - Hardware setup is: Running the WAM from an external machine, OS is Ubuntu 12.04 32-bit, ROS version Fuerte along with Xenomai. As a reference, it is the same machine used by Kevin Zhou (kev.zhou7@gmail.com <mailto:kev.zhou7@gmail.com>), who has been contacting you as well. Please let me know if any other information is needed. - The BH8-280 hand was disconnected. No tool is attached at the end of the arm. - If I rosrun the node, the wam_main function prompts me to shift-idle and zero the WAM, then shift-activate it. After I press the corresponding buttons in the pendant, the segfault occurs. Regards,

Andr [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Kyle Maroney * <km@barrett.com> 29 de agosto de 2012 13:57 Para: Andr Goto <goto.andre@gmail.com> Andr, Just to verify, you are able to correctly run the libbarrett_example programs? -Kyle [Texto das mensagens anteriores oculto] [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 29 de agosto de 2012 14:54 Para: Kyle Maroney <km@barrett.com> Yes - I have successfully run libbarrett examples 1 to 6 and 8. All of these worked correctly. Andr [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 29 de agosto de 2012 17:47 Para: Kyle Maroney <km@barrett.com> Another point that might be related. When I compile the wam_node package, I get two warnings: /usr/bin/ld: warning: libboost_thread.so.1.40.0, /opt/ros/fuerte/stacks/geometry/tf/lib/libtf.so, libboost_thread.so.1.46.1 /usr/bin/ld: warning: libboost_thread.so.1.40.0, /opt/ros/fuerte/stacks/geometry/tf/lib/libtf.so, libboost_thread.so.1.46.1 needed by may conflict with needed by may conflict with

I have found something that may be related to it in the ROS Q&A website. http://answers.ros.org/question/12787/boost-1461-runtime-segfault/ <http://answers.ros.org/question/12787/boost-1461-runtime-segfault/> Like me, the user complained on a NodeHandle declaration line. But I didn't fully understand the problem. Andr [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Kyle Maroney * <km@barrett.com> 30 de agosto de 2012 06:13 Para: Andr Goto <goto.andre@gmail.com> Thanks for the additional information! This is the problem (that question was asked by me :)) It seems your version of ROS was compiled against boost 1.40.0 This seems strange to me though considering you are using Ubuntu 12.04 where the default Boost during an apt installation is 1.46

You should do two things: Triple check that you are running 12.04 $ lsb_release -a Purge Boost 1.40 - it is not needed by Libbarrett or ROS Apt install boost 1.46 & ROS Install Fuerte Again http://www.ros.org/wiki/fuerte/Installation/Ubuntu <http://www.ros.org/wiki/fuerte/Installation/Ubuntu> (Make sure to follow the Precise release instructions) Regards, -Kyle Maroney Robotics Engineer Barrett Technology 625 Mount Auburn St. Cambridge, MA 02138, USA

[Texto das mensagens anteriores oculto] [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 30 de agosto de 2012 11:52 Para: Kyle Maroney <km@barrett.com> You are right - I rechecked my Ubuntu version with lsb_release, and I am actually on 10.04. Sorry about that. Does it change anything on the procedure? Or should I follow the same steps (purge 1.40, install 1.46 and Fuerte again)? I replied your following question (http://answers.ros.org/question/12792/newer-boost-library-ubuntu-1004/ <http://answers.ros.org/question/12792/newer-boost-library-ubuntu-1004/>) about reinstalling ROS again, is there any care I need to take before doing it? Will my packages in fuerte_workspace be deleted as well? Andr [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Kyle Maroney * <km@barrett.com> 30 de agosto de 2012 12:15 Para: Andr Goto <goto.andre@gmail.com> Andr, > You are right - I rechecked my Ubuntu version with lsb_release, and I > am actually on 10.04. Sorry about that. No worries - although this does make your ROS installation particularly harder. To use the package you will have to install ROS Fuerte from source against Boost 1.46.1. http://www.ros.org/wiki/fuerte/Installation/Ubuntu/Source <http://www.ros.org/wiki/fuerte/Installation/Ubuntu/Source> Also note that before your source installation you must edit your bash.rc to reflect the following (as in my answers.ros.org <http://answers.ros.org> response).

|#In my case the boost 1.46.1 library was located in /usr/local/lib export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" #I also wanted to explicitly tell the ROS environment my boost location export ROS_BOOST_ROOT="/usr/local/" export ROS_BOOST_VERSION="1.46.1"| Also don't forget to update your ROS environment variable to point to your source installation and remove the previous path ie. in your bash.rc source /opt/ros/fuerte/setup.bash to source /path/to/source/installation/setup.bash > Does it change anything on the procedure? Or should I follow the same > steps (purge 1.40, install 1.46 and Fuerte again)? > I replied your following question > (http://answers.ros.org/question/12792/newer-boost-library-ubuntu-1004/ <http: //answers.ros.org/question/12792/newer-boost-library-ubuntu-1004/>) > about reinstalling ROS again, is there any care I need to take before > doing it? Will my packages in fuerte_workspace be deleted as well? Your custom workspace and files should not be deleted in any purge. This just deletes the files that were installed during an apt-get installation. With that said it is always safe to back things up :) Anyway if you decide to do the previous, you will not need to purge! Lastly, another option is to update your OS to Ubuntu 12.04 with the new Xenomai Ubuntu Kernel that I recently developed.. This is also a little bit of a process but if you are dying to get to 12.04 it is an option. Also, the ROS installation against Boost 1.46.1 is *very *easy. Regards, -Kyle Maroney Robotics Engineer Barrett Technology 625 Mount Auburn St. Cambridge, MA 02138, USA -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 30 de agosto de 2012 13:06 Para: Kyle Maroney <km@barrett.com> Kyle, So I decided to install ROS Fuerte from source and follow your procedure. I should probably uninstall my previous ROS version though, since the tutorial recommends to compile and install the files into /opt/ros/fuerte, which is where my previous installation files are in. The ROS installation from source seems indeed more complicated than with a Debian package, so just to avoid running into any problems, I would like to double-check with you about the boost 1.46.1 library, which is the crucial point. Do I still have to install it? In my own /usr/local/lib I have already found some files related to libboost 1.46.1 (someone else probably used this before), but I cannot tell if this means it's already installed or not: $ ls /usr/local/lib libbarrett.so libboost_regex.so libbarrett.so.1.1 libboost_math_c99.so.1.46.1 libconfig.so.9 libboost_math_tr1.a

libboost_regex.so.1.46.1 libconfig++.so.9 libbarrett.so.1.1.0 libboost_math_tr1f.a libboost_signals.a libconfig.so.9.0.4 libboost_date_time.a libboost_math_tr1f.so libboost_signals.so libconfig++.so.9.0.4 libboost_date_time.so libboost_math_tr1f.so.1.46.1 libboost_signals.so.1.46.1 libgsl.a libboost_date_time.so.1.46.1 libboost_math_tr1l.a libboost_system.a libgslcblas.a libboost_filesystem.a libboost_math_tr1l.so libboost_system.so libgslcblas.la <http://libgslcblas.la> libboost_filesystem.so libboost_math_tr1l.so.1.46.1 libboost_system.so.1.46.1 libgslcblas.so libboost_filesystem.so.1.46.1 libboost_math_tr1.so libboost_thread.a libgslcblas.so.0 libboost_math_c99.a libboost_math_tr1.so.1.46.1 libboost_thread.so libgslcblas.so.0.0.0 libboost_math_c99f.a libboost_program_options.a libboost_thread.so.1.46.1 libgsl.la <http://libgsl.la> libboost_math_c99f.so libboost_program_options.so libconfig.a libgsl.so libboost_math_c99f.so.1.46.1 libboost_program_options.so.1.46.1 libconfig++.a libgsl.so.0 libboost_math_c99l.a libboost_python.a libconfig.la <http://libconfig.la> libgsl.so.0.15.0 libboost_math_c99l.so libboost_python.so libconfig++.la pkgconfig libboost_math_c99l.so.1.46.1 libboost_python.so.1.46.1 libconfig.so python2.6 libboost_math_c99.so libboost_regex.a libconfig++.so If that means 1.46.1 is already installed, then I guess I can proceed with the installation following your procedure. Thanks again for your support, Andr [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Kyle Maroney * <km@barrett.com> 30 de agosto de 2012 13:15 Para: Andr Goto <goto.andre@gmail.com> Andr, So I decided to install ROS Fuerte from source and follow your procedure. I should probably uninstall my previous ROS version though, since the tutorial recommends to compile and install the files into /opt/ros/fuerte, which is where my previous installation files are in. Ok, this is not a problem. You do have the option to compile in any directory of your choice though if you so decide. The ROS installation from source seems indeed more complicated than with a Debian package, so just to avoid running into any problems, I would like to double-check with you about the boost 1.46.1 library, which is the crucial point. Do I still have to install it? In my own /usr/local/lib I have already found some files related to libboost 1.46.1 (someone else probably used this before), but I cannot tell

if this means it's already installed or not: No you do not still verified working if from below that you all the requirement have to install it. It has been installed and you are able to use Libbarrett. I can also see that have boost 1.46.1 installed in /usr/local/lib with needed to install ROS.

If that means 1.46.1 is already installed, then I guess I can proceed with the installation following your procedure. You are correct! Good luck! [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 30 de agosto de 2012 14:27 Para: Kyle Maroney <km@barrett.com> Kyle, In the end, I have decided to install ROS Electric for a couple of reasons: it was the same versions used by you when developing the wrapper, the source installation seemed much more easier (it didn't have the trouble Fuerte has with /opt/ros/fuerte directory), and I wouldn't risk the current installation. I have added your script lines into my .bashrc and followed the procedure shown in http://www.ros.org/wiki/electric/Installation/Ubuntu/Source <http://www.ros.org/wiki/electric/Installation/Ubuntu/Source> . But when installing the recommended configuration with: $ rosinstall ~/ros "http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=electric&variant=de sktop-full&overlay=no <http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=electric&variant=de sktop-full&overlay=no>" I get some errors really hard to decode, but they seem to be related to boost versions. I am attaching the build log file with errors. Did you have any problems while installing it with a different boost version? Regards, Andr [Texto das mensagens anteriores oculto] <?ui=2&ik=1a736d3041&view=att&th=139796ed60fbfee1&attid=0.1&disp=inline&realatti d=f_h6id31330&safe=1&zw> *buildfailures-with-context.txt* 19K -----------------------------------------------------------------------*Kyle Maroney * <kpm@barrett.com> 30 de agosto de 2012 15:18 Para: Andr Goto <goto.andre@gmail.com> It looks like it can't find the boost filesystem. Did you make sure to source your bashrc to tell the system where Boost is? source ~/.bashrc

Then try to recompile Kyle On Thu, 30 Aug 2012 14:27:50 -0700, Andr Goto wrote: Kyle, In the end, I have decided to install ROS Electric for a couple of reasons: it was the same versions used by you when developing the wrapper, the source installation seemed much more easier (it didn't have the trouble Fuerte has with /opt/ros/fuerte directory), and I wouldn't risk the current installation. I have added your script lines into my .bashrc and followed the procedure shown in http://www.ros.org/wiki/__electric/Installation/Ubuntu/__Source <http://www.ros.org/wiki/electric/Installation/Ubuntu/Source> [1] . But when installing the recommended configuration with: $ rosinstall ~/ros "http://packages.ros.org/cgi-__bin/gen_rosinstall.py?__rosdistro=electric&va riant=__desktop-full&overlay=no <http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=electric&varian t=desktop-full&overlay=no> [2]" I get some errors really hard to decode, but they seem to be related to boost versions. I am attaching the build log file with errors. Did you have any problems while installing it with a different boost version? Regards, Andr 2012/8/30 Kyle Maroney Andr, So I decided to install ROS Fuerte from source and follow your procedure. I should probably uninstall my previous ROS version though, since the tutorial recommends to compile and install the files into /opt/ros/fuerte, which is where my previous installation files are in. Ok, this is not a problem. You do have the option to compile in any directory of your choice though if you so decide. The ROS installation from source seems indeed more complicated than with a Debian package, so just to avoid running into any problems, I would like to double-check with you about the boost 1.46.1 library, which is the crucial point. Do I still have to install it? In my own /usr/local/lib I have already found some files related to libboost 1.46.1 (someone else probably used this before), but I cannot tell if this means it's already installed or

not: No you do not still have to install it. It has been installed and verified working if you are able to use Libbarrett. I can also see that from below that you have boost 1.46.1 installed in /usr/local/lib with all the requirement needed to install ROS.

Links: -----[1] http://www.ros.org/wiki/__electric/Installation/Ubuntu/__Source <http://www.ros.org/wiki/electric/Installation/Ubuntu/Source> [2] http://packages.ros.org/cgi-__bin/gen_rosinstall.py?__rosdistro=electric|+|a mp|+|__variant=desktop-full|+|amp|+|__overlay=no <http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=electric%7C+%7C amp%7C+%7Cvariant=desktop-full%7C+%7Camp%7C+%7Coverlay=no> [3] mailto:km@barrett.com <mailto:km@barrett.com> [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 30 de agosto de 2012 15:55 Para: Kyle Maroney <kpm@barrett.com> Yes, I did...All the three variables exported (LD_LIBRARY_PATH, ROS_BOOST_ROOT and ROS_BOOST_VERSION) are correctly recognized by the shell. Andr [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 31 de agosto de 2012 13:15 Para: Kyle Maroney <kpm@barrett.com> Kyle, Still about the boost 1.46 issue...I have verified with the Synaptic Package Manager (by typing libboost in the search field) that the only installed version in my machine is 1.40. Doesn't that mean 1.46 isn't installed? Or it is just that the Synaptic does not search in all directories (such as /usr/local, where 1.46 seems to be)? [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Kyle Maroney * <km@barrett.com> 31 de agosto de 2012 13:48 Para: Andr Goto <goto.andre@gmail.com> Cc: Kyle Maroney <kpm@barrett.com> Andr, I believe you may have misunderstood me previously. Libbarrett requires boost 1.46.1. It uses functionality that is not available in earlier versions. It was also installed from source, explaining why Synaptic is not tracking it (unless you told it to that is). -Kyle [Texto das mensagens anteriores oculto]

[Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 31 de agosto de 2012 15:49 Para: Kyle Maroney <km@barrett.com> Cc: Kyle Maroney <kpm@barrett.com> Okay, just to make sure... There is still something strange going on given that you could compile ROS Electric with 1.46.1 and I couldn't. I have created a question at http://answers.ros.org/question/42694/cannot-compile-electric-from-source-agains t-boost-1461/ <http://answers.ros.org/question/42694/cannot-compile-electric-from-source-again st-boost-1461/> and someone answered it as probably being a bug, but it shouldn't be since you didn't had the same problem. Andr [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Kyle Maroney * <km@barrett.com> 4 de setembro de 2012 07:40 Para: Andr Goto <goto.andre@gmail.com> It is possible to compile ROS Electric against boost 1.46.1. If you set your environment variables as you previously stated, you should be able to compile ROS against boost 1.46.1. Your pastebin attachment shows the first conflict being in roscpp. I suggest that you explicitly links the CMakeLists file against Boost 1.46.1 and see if you can get farther in the compilation process. Regards, Kyle [Texto das mensagens anteriores oculto] [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 6 de setembro de 2012 20:46 Para: Kyle Maroney <km@barrett.com> Kyle, I had given up on ROS Electric and moved on to recompile Fuerte from source against 1.46.1, but I am still getting a lot of errors related to boost files. Also, I don't know if you noticed it but the installation from source for Fuerte is a lot more complex than Electric. I have asked another question at http://answers.ros.org/question/43131/compiling-ros-fuerte-with-boost-1461/ <http://answers.ros.org/question/43131/compiling-ros-fuerte-with-boost-1461/> , and it seems that other users were having issues to compile Fuerte against newer versions of boost, so it might be a problem within ROS - I don't really know. Actually, have you successfully compiled ROS Fuerte against boost 1.46.1 as well, or only Electric? If the latter is the case, I probably should go back to Electric. Regards, Andr [Texto das mensagens anteriores oculto]

-----------------------------------------------------------------------*Kyle Maroney * <km@barrett.com> 7 de setembro de 2012 03:43 Para: Andr Goto <goto.andre@gmail.com> Andr, A compilation from source is going to take quite some effort. One of our major reasons for upgrading our operating system to Ubuntu 12.04 is that we can now use the default version of Boost (1.46.1) and install ROS Fuerte via apt-get. http://www.ros.org/wiki/fuerte/Installation/Ubuntu <http://www.ros.org/wiki/fuerte/Installation/Ubuntu> Installing the binaries for ROS is incredibly easy. It is also very hard for us to support building from source (as you can see) because the packages making up the ROS source change regularly. Therefore making instructions one week may not be applicable the following etc. Are you using the WAM internal PC or an external machine? It may be worth considering a change your OS. If you choose to do this I can provide you with instructions making your ROS installation much easier. -Kyle [Texto das mensagens anteriores oculto] [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 7 de setembro de 2012 09:17 Para: Kyle Maroney <km@barrett.com> Kyle, I am using an external machine. I have checked that at the following link: http://support.barrett.com/wiki/BuildingAPC <http://support.barrett.com/wiki/BuildingAPC> there is a set of instructions to install Xenomai and Libbarrett for 12.04 as well. I was considering making a second partition for Ubuntu 12.04 and make things much more easier by installing ROS with apt-get (and the default version), but what does " Supported only on Barrett Technology supplied external PCs " mean? As far as I know, my external PC was not supplied by Barrett. Andr [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Kyle Maroney * <kpm@barrett.com> 8 de setembro de 2012 08:06 Para: Andr Goto <goto.andre@gmail.com> Andr, there is a set of instructions to install Xenomai and Libbarrett for 12.04 as well. I was considering making a second partition for Ubuntu 12.04 and make things much more easier by installing ROS with apt-get (and the default version), I believe you will have success with this method.

but what does " Supported only on Barrett Technology supplied external PCs " mean? As far as I know, my external PC was not supplied by Barrett. Creating the external PCs that we offer in addition to our WAM is done with much thought. When create a guaranteed hard-realtime system you must be aware of things that you normally wouldn't consider when creating a PC, such as how the interrupts are sent on which buses so as to not interfere with the CAN Cards interrupts. When we create the custom kernels described we develop those kernels on the external PCs that we have determined to meet the requirements to control a WAM PC. With all of that said, if you have used an external PC that has run a WAM successfully, the instructions should work just fine. Regards, [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 10 de setembro de 2012 19:00 Para: Kyle Maroney <kpm@barrett.com> Kyle, I successfully installed Ubuntu 12.04 and followed the instructions at http://support.barrett.com/wiki/BuildingAPC/Precise32Install <http://support.barrett.com/wiki/BuildingAPC/Precise32Install> . No errors were noticed during Xenomai and Libbarrett installation and I have typed all the commands shown. Following the setup, I tried to run libbarrett ex04 (display_basic_info), but when prompted to Shift-Activate the WAM, the operating system freezes and I have to hard shut down the PC by holding the power button for a few seconds. I also tried to run the zero calibration procedure (bt-wam-zerocal) but it also ends up crashing the OS. Do you have any ideas on what could be happening? Regards, Andr [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Kyle Maroney * <kpm@barrett.com> 10 de setembro de 2012 19:50 Para: Andr Goto <goto.andre@gmail.com> Andr, I have not experience or heard of the OS freezing on shift-activate. Did you end up partitioning and dual-booting? I have been made aware of problems problems based on a OS upgrades instead of a pure 12.04 installation. I have a slight feeling that it has to do with the servicing of interrupts as I have previously mentioned. Upon shift-activating we start the real-time process manager furthering this thought.

Please let me know how you installed, your hardware specs, and I will try to help you the best that I can. Regards, -Kyle Maroney Robotics Engineer Barrett Technology 625 Mount Auburn St. Cambridge, MA 02138, USA On Mon, 10 Sep 2012 19:00:38 -0700, Andr Goto wrote: Kyle, I successfully installed Ubuntu 12.04 and followed the instructions at http://support.barrett.com/__wiki/BuildingAPC/__Precise32Install <http://support.barrett.com/wiki/BuildingAPC/Precise32Install> [1] . No errors were noticed during Xenomai and Libbarrett installation and I have typed all the commands shown. Following the setup, I tried to run libbarrett ex04 (display_basic_info), but when prompted to Shift-Activate the WAM, the operating system freezes and I have to hard shut down the PC by holding the power button for a few seconds. I also tried to run the zero calibration procedure (bt-wam-zerocal) but it also ends up crashing the OS. Do you have any ideas on what could be happening? Regards, Andr 2012/9/8 Kyle Maroney [Texto das mensagens anteriores oculto] Links: -----[1] http://support.barrett.com/__wiki/BuildingAPC/__Precise32Install <http://support.barrett.com/wiki/BuildingAPC/Precise32Install> [2] mailto:kpm@barrett.com <mailto:kpm@barrett.com> [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 11 de setembro de 2012 10:54 Para: Kyle Maroney <kpm@barrett.com> Kyle, I installed Ubuntu 12.04 booting a burned installation CD. I chose the "Install alongside" option, so the partitioning was managed by the installation procedure. It roughly divided my HD into two parts of equal size (around 500GB each), and made the computer dual-boot, so I did not upgrade 10.04 - it is still there, with a functional version of Libbarrett. All the other options were default. No issues were noticed during installation. My machine is an Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz. Using the command

sudo lshw -html > ~/hardware_info.html it made me a file with all the specs you might need; please find it attached and let me know if there is anything else needed. Andr [Texto das mensagens anteriores oculto] <?ui=2&ik=1a736d3041&view=att&th=139b677d32ee1ec1&attid=0.1&disp=inline&realatti d=f_h6zat8ds0&safe=1&zw> *hardware_info.html* 115K -----------------------------------------------------------------------*Kyle Maroney * <km@barrett.com> 11 de setembro de 2012 11:04 Para: Andr Goto <goto.andre@gmail.com> Did you correctly provide permissions to your user to access the RT layer (Xenomai permissions). We assume you named your user - robot. The following commands require that your username is robot and can be edited accordingly, can you verify: sudo addgroup xenomai sudo usermod -aG xenomai robot sudo chown -R robot:robot /etc/barrett/ Also, I am wondering why you installed 32-bit Ubuntu on your 64-bit system? The rest seems ok at a glance. We use i5s as our CPUs. Again I am worried about your motherboard, but cannot verify this concern. Are you able to enumerate the canbus with btutil -e? -Kyle [Texto das mensagens anteriores oculto] [Texto das mensagens anteriores oculto] -Kyle Maroney Robotics Engineer Barrett Technology 625 Mount Auburn St. Cambridge, MA 02138, USA -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 11 de setembro de 2012 14:15 Para: Kyle Maroney <km@barrett.com> Yes, I remember typing these commands for Xenomai permissions as shown on the procedure. But I cannot do the enumeration command as you said: $ btutil -e No command 'btutil' found, did you mean: Command 'ktutil' from package 'heimdal-clients' (universe) Command 'ktutil' from package 'krb5-user' (universe) Am I missing something here?

The linux autocomplete gives me only three results for bt: $ bt btcflash bt-wam-gravitycal bt-wam-zerocal About the 32-bit Ubuntu, I just went with the same version that was installed before (10.04 32-bit), but I do not have any particular reason to choose the 32-bit instead of 64 since it was not me who installed the previous version. Could this actually cause any problems? Andr [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Kyle Maroney * <km@barrett.com> 11 de setembro de 2012 14:33 Para: Andr Goto <goto.andre@gmail.com> Ok, just to double-check your username is robot? Btutil is a program of btclient that we use to occasionally debug systems. Can you install btclient with the following: $ cd ~/ $ svn co http://web.barrett.com/svn/__btclient/trunk <http://web.barrett.com/svn/btclient/trunk> btclient $ cd btclient $ wget http://web.barrett.com/__support/WAM_Installer/config-__xeno.mk <http://web.barrett.com/support/WAM_Installer/config-xeno.mk> $ mv config-xeno.mk <http://config-xeno.mk> config.mk <http://config.mk> $ sh makeall $ cd src/btutil $ ./btutil -e This will enumerate the WAM showing the pucks on the bus, their firmware versions, and roles. E-stop, release the E-Stop and shift-idle. Then run again. $ ./btutil -e Please let me know if you are successful with this. [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 11 de setembro de 2012 14:41 Para: Kyle Maroney <km@barrett.com> I forgot to mention, but I have changed my username due to our lab policy. The actual username that I used for Ubuntu installation is 'caris' but for every time 'robot' would be used in a command (sudo usermod and sudo chown), I just replaced it by 'caris'. I succeeded at installing btclient and running btutil. For the first time, with the WAM turned on: $ ./btutil -e CAN bus enumeration (status)

Node 10:

STATUS_READY vers=119

For the second time, after E-stop, E-release and Shift-Idle: $ ./btutil -e CAN bus enumeration (status) Node Node Node Node Node Node Node Node 1: 2: 3: 4: 5: 6: 7: 10: STATUS_READY STATUS_RESET STATUS_RESET STATUS_RESET STATUS_RESET STATUS_RESET STATUS_RESET STATUS_READY vers=200 vers= 6 vers= 6 vers= 6 vers= 6 vers= 6 vers= 6 vers=119

Andr [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 11 de setembro de 2012 17:40 Para: Kyle Maroney <km@barrett.com> Some more information on the issue. - After booting Ubuntu, I notice a bit of lagging while using the OS. Common operations, like moving the cursor or typing a command, cause the OS to freeze for a fraction of a second, every few seconds. This situation remains for a couple of minutes. If I try to launch ./btutil -e during this state, the entire OS freezes as well. - After some time (not sure how long, but less than an hour), it is possible to launch ./btutil without crashing the OS. The system seems not to present any lag at this point. - Once btutil ran successfully, I went to launch ex04 again. This time I could Shift-Activate the WAM with the control pendant, and the program seemed to work. I then moved the WAM manually, only to cause a heartbeat fault and crash the OS again. It might be that there is some program (Xenomai?) being initialised upon booting, taking several minutes to finish loading, and directly affecting WAM components. Andr [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Kyle Maroney * <km@barrett.com> 12 de setembro de 2012 06:22 Para: Andr Goto <goto.andre@gmail.com> Ok, this does provide more information. Could you please send me the results of: $ ps aux In the past I have seen lag in the OS caused by issues with syslogd when upgrading to 12.04 while still having a previous installation present. When you chose to install it side by side it may have shared this resource.

A process should show up with the ps aux command that is using majority of the resources. If this ends up being syslogd, I can provide you with a few instructions to clear the problem up. Kyle [Texto das mensagens anteriores oculto] [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 12 de setembro de 2012 10:29 Para: Kyle Maroney <km@barrett.com> Kyle, Please find attached two files corresponding to the outputs of $ ps aux. The first, aux_1, was obtained with the computer working since yesterday - it wasn't booted for over 12 hours. The second, aux_2, was obtained just after booting. One more thing - before booting the PC (that means, it was last booted yesterday) I repeatedly tested running ./btutil. It worked in the first four times, but froze the OS in the fifth. Andr [Texto das mensagens anteriores oculto] *2 anexos* <?ui=2&ik=1a736d3041&view=att&th=139bb87927a2053c&attid=0.1&disp=inline&realatti d=f_h70pcttx0&safe=1&zw> *aux_1.txt* 16K <?ui=2&ik=1a736d3041&view=att&th=139bb87927a2053c&attid=0.2&disp=inline&realatti d=f_h70pcttz1&safe=1&zw> *aux_2.txt* 15K -----------------------------------------------------------------------*Kyle Maroney * <kpm@barrett.com> 13 de setembro de 2012 09:09 Para: Andr Goto <goto.andre@gmail.com> Andr, Thank you for attaching the files requested. It seems that everything checks out correctly regarding the OS. This now leads us to the conclusion that the error is how the interrupts are being handled by your system. The quickest solution that is often effective is to move your USB devices (Keyboard and Mouse) to different USB ports of your PC (from front to back). This will put these devices on a different bus and may solve the problem. If this is unsuccessful, we will dig in to identify where the IRQ conflict stems from. Note that this is not an easy task. With some motherboards it is not even possible to run a WAM due to said IRQ routing conflicts. This is also kernel dependent and the way the interrupts are routed can change from kernel to kernel, which may

describe why it worked on your 10.04 installation and not your 12.04 installation. Please reboot your WAM PC, then copy and paste (or type) the following commands: script cat /proc/interrupts cat /proc/rtcan/devices cat /proc/xenomai/irq uname -a dmesg |grep -i kernel dmesg |grep -i can lsmod |grep -i can lspci -vv cat /etc/rc.local ls -al /etc/rc.local exit Then please email me the "typescript" file that was created. I will try to look for any configuration errors or IRQ conflicts. If we can identify the errors it is still not guaranteed to solve the problem, but we will do our best :) [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 13 de setembro de 2012 16:05 Para: Kyle Maroney <kpm@barrett.com> Kyle, I have tried to change the USB bus for my mouse (the Keyboard uses a different, older bus that is not USB); it was already on the back, and I put it on front. But that didn't prevent the freezing. I have then typed your commands, after booting both my PC and the internal WAM PC . Please find attached the typescript file. Again, thank you for your support. I hope this file provides accurate information about the source of these issues. Andr [Texto das mensagens anteriores oculto] <?ui=2&ik=1a736d3041&view=att&th=139c1e1727872f27&attid=0.1&disp=attd&realattid= f_h72guqtg0&safe=1&zw> *typescript* 21K -----------------------------------------------------------------------*Kyle Maroney * <km@barrett.com> 17 de setembro de 2012 12:29 Para: Andr Goto <goto.andre@gmail.com> Andr, Sorry for the delayed response. Thank you for sending along the requested log. There is nothing outstanding to me as to why the OS is acting slowly. You do not seem to have anything that is directly competing with the IRQ assigned to the Peak PCI card. One things that catches my eye is the number of devices sending interrupts to Pin A. One idea that we have if you have another PCI slot available, could you please move the Peak

PCI card to that slot. This may move the interrupts to pin B,C, or D, and possibly solve your problem. I have forwarded your log to another software engineer who has much experience with handling IRQs. Please let me know if moving your PCI card is an option, and if you have success. I will keep you up to date with my colleagues suggestions. I apologize that this is becoming such a time consuming debugging process. [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 17 de setembro de 2012 15:31 Para: Kyle Maroney <km@barrett.com> Kyle, We moved the PCI card to another slot of our PC and tried to run ex04 (display_basic_info) again. The WAM could be shift-activated, but when moving the arm manually to test for different values, the OS crashed again after one or two seconds with an heartbeat fault. Please let me know if there are any other suggestions that we might try. Regards, Andr [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Kyle Maroney * <km@barrett.com> 19 de setembro de 2012 08:57 Para: Andr Goto <goto.andre@gmail.com> Andr, This all looks fine. The next thing I would try is to remove the CAN card and see if the system is still slow. The solution could also lie in some obscure setting in the kernel config. If this is the case, it might be quickest to revert to a known-working 2.6 kernel. Is your machine capable of running 64-bit kernel? [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 19 de setembro de 2012 14:50 Para: Kyle Maroney <km@barrett.com> Kyle, Since the slowness behaviour was happening sporadically (very short freezes once in a while, following boot), it is hard to evaluate whether the cause is the CAN card or simply system initialization. I removed it but did not notice any major improvement compared to when I moved the CAN card to a second slot, or even into the original slot. Our machine is an Intel i5, and I have been told that it does support a 64-bit kernel. We could give it a try. How can we set up the working kernel on Ubuntu 12.04? Andr [Texto das mensagens anteriores oculto] ------------------------------------------------------------------------

*Kyle Maroney * <km@barrett.com> 19 de setembro de 2012 14:58 Para: Andr Goto <goto.andre@gmail.com> Andr, Since the slowness behaviour was happening sporadically (very short freezes once in a while, following boot), it is hard to evaluate whether the cause is the CAN card or simply system initialization. I removed it but did not notice any major improvement compared to when I moved the CAN card to a second slot, or even into the original slot. Our machine is an Intel i5, and I have been told that it does support a 64-bit kernel. We could give it a try. How can we set up the working kernel on Ubuntu 12.04? Please try following the instructions for the 64-bit installation here: http://support.barrett.com/__wiki/BuildingAPC/__Precise64Install <http://support.barrett.com/wiki/BuildingAPC/Precise64Install> [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 20 de setembro de 2012 12:45 Para: Kyle Maroney <km@barrett.com> Kyle, I have replaced the 32-bit Ubuntu 12.04 version on my machine for the 64-bit one. Then I followed the instructions from the link you provided and installed Xenomai and Libbarrett. While trying to run example 04, the OS froze again a few moments after Shift-Activating the WAM. Please let me know if any other outputs from commands, like the typescript of before, would be useful to trace the problem. I also have an unrelated question: in our other partition (Ubuntu 10.04) we have Libbarrett properly working, but btclient is not installed. Can I install and use btclient there to operate the WAM without affecting Libbarrett functionalities? In other words, do btclient and Libbarrett might cause any kind of unwanted conflicts if installed on the same OS? Regards, Andr [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Kyle Maroney * <km@barrett.com> 21 de setembro de 2012 09:08 Para: Andr Goto <goto.andre@gmail.com> Andr, It seems that we may not have success upgrading your external PC to Ubuntu 12.04 with our new kernels. I believe that there are two ways to move forward. First, we could revisit the effort to compile ROS from source in Ubuntu 10.04 against Boost 1.46.1. Second, we could use your WAM internal PC with Ubuntu 12.04 and ROS to be used as a node. This has been successful for customers previously. You can do all of the control and calculations on another machine on the

rosgraph and send only the required information to the wam such as joint torques, positions, velocities, or Cartesian torques, positions, velocities etc. Also, the wam_node running on the PC-104 will provide standard published topics such as sensor_msgs::JointState and geometry_msgs/PoseStamped. Please let me know what you would like to do. Regards, -Kyle Maroney Robotics Engineer Barrett Technology 625 Mount Auburn St. Cambridge, MA 02138, USA

[Texto das mensagens anteriores oculto] [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 21 de setembro de 2012 11:28 Para: Kyle Maroney <km@barrett.com> Kyle, If I understood correctly, would the second option require modifying the WAM internal PC configuration (by installing Ubuntu 12.04 and ROS on it)? Could this possibly cause conflicts with the functional version of Libbarrett on Ubuntu 10.04? Still, I am willing to give it another try on compiling ROS from source, since it looks like the less risky option. I already tried uninstalling boost 1.40.0 and keeping only 1.46.1 version, exported the ROS boost variables as you did, and tried installing again. But, as you commented on your own question, it tries to install 1.40.0 in the install script (Executing script below with cwd=/tmp {{{ #!/bin/bash #Packages ['libboost1.40-all-dev'] sudo apt-get install libboost1.40-all-dev }}}), and at that point I have to stop installation. I can try uninstalling all versions of boost and ROS and follow the exact procedures you did to compile it against 1.46.1. I also have an unrelated question: in our Ubuntu 10.04 partition we have Libbarrett properly working, but btclient is not installed. Can I install and use btclient there to operate the WAM without affecting Libbarrett functionalities? In other words, do btclient and Libbarrett might cause any kind of unwanted conflicts if installed on the same OS? Regards, Andr [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Kyle Maroney * <km@barrett.com> 24 de setembro de 2012 06:28 Para: Andr Goto <goto.andre@gmail.com> Andr,

If I understood correctly, would the second option require modifying the WAM internal PC configuration (by installing Ubuntu 12.04 and ROS on it)? Could this possibly cause conflicts with the functional version of Libbarrett on Ubuntu 10.04? It would not conflict with Libbarrett on Ubuntu 10.04. Ubuntu 10.04 is currently installed on an external PC for control of the WAM. By using the external PC you are bypassing control of the WAM internal PC. Your WAM internal PC-104 is running a Ubuntu Xenomai 9.10 kernel. If you would like to proceed with installing Ubuntu your internal PC-104, please let me know and I will instructions to do this correctly. Doing this would the WAM using any PC on the same network with a ROS 12.04 and ROS on provide detailed allow you to control installation.

Still, I am willing to give it another try on compiling ROS from source, since it looks like the less risky option. I already tried uninstalling boost 1.40.0 and keeping only 1.46.1 version, exported the ROS boost variables as you did, and tried installing again. But, as you commented on your own question, it tries to install 1.40.0 in the install script (Executing script below with cwd=/tmp {{{ #!/bin/bash #Packages ['libboost1.40-all-dev'] sudo apt-get install libboost1.40-all-dev }}}), and at that point I have to stop installation. I can try uninstalling all versions of boost and ROS and follow the exact procedures you did to compile it against 1.46.1. You are correct, the ROS installation bundles boost 1.40. This is something you cannot stop. However, if you correctly set your flags it should compile a majority of the packages against boost 1.46.1. You previously mentioned that you had done this correctly. I will also advise that you only install ROS bare-bones on your WAM external PC. As your compilation proceeds please take note of packages that are linking against boost 1.40.1. Roscpp is an example of a package that will link against boost 1.40.1. In some cases you will have to explicitly link Boost 1.46.1. During my compilation this was true of roscpp, as well as a few other. I also have an unrelated question: in our Ubuntu 10.04 partition we have Libbarrett properly working, but btclient is not installed. Can I install and use btclient there to operate the WAM without affecting Libbarrett functionalities? In other words, do btclient and Libbarrett might cause any kind of unwanted conflicts if installed on the same OS? btclient will not conflict with anything else on the system. You can download and compile it with the following: $ svn co http://web.barrett.com/svn/__btclient/trunk <http://web.barrett.com/svn/btclient/trunk> btclient $ cd btclient $ wget http://web.barrett.com/__support/WAM_Installer/config-__xeno.mk <http://web.barrett.com/support/WAM_Installer/config-xeno.mk> $ mv config-xeno.mk <http://config-xeno.mk> config.mk <http://config.mk> $ sh makeall

[Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 24 de setembro de 2012 10:10 Para: sina radmard <s.radmard85@gmail.com> FYI ---------- Forwarded message ---------From: *Kyle Maroney* <km@barrett.com <mailto:km@barrett.com>> Date: 2012/9/24 Subject: Re: ROS Wrapper for Libbarrett To: Andr Goto <goto.andre@gmail.com <mailto:goto.andre@gmail.com>> I also have an unrelated question: in our Ubuntu 10.04 partition we have Libbarrett properly working, but btclient is not installed. Can I install and use btclient there to operate the WAM without affecting Libbarrett functionalities? In other words, do btclient and Libbarrett might cause any kind of unwanted conflicts if installed on the same OS? btclient will not conflict with anything else on the system. You can download and compile it with the following: $ svn co http://web.barrett.com/svn/__btclient/trunk <http://web.barrett.com/svn/btclient/trunk> btclient $ cd btclient $ wget http://web.barrett.com/__support/WAM_Installer/config-__xeno.mk <http://web.barrett.com/support/WAM_Installer/config-xeno.mk> $ mv config-xeno.mk <http://config-xeno.mk> config.mk <http://config.mk> $ sh makeall Regards, -Kyle Maroney Robotics Engineer Barrett Technology 625 Mount Auburn St. Cambridge, MA 02138, USA -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 24 de setembro de 2012 15:46 Para: Kyle Maroney <km@barrett.com> Kyle, In some cases you will have to explicitly link Boost 1.46.1. During my compilation this was true of roscpp, as well as a few other.

Could you please detail how did you explicitly link Boost 1.46.1 against these packages (ex. roscpp, which is where the errors seems to come from)? I am afraid I am not doing it correctly and not modifying the right files/in the right way.

About upgrading the WAM PC-104 to a newer version of Ubuntu, I have to talk to my supervisors before doing that. I will explain the situation and we might come back to it later. Regards, Andr -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 3 de outubro de 2012 10:56 Para: Kyle Maroney <km@barrett.com> Hi Kyle, So I have talked to some people in the lab and everyone agreed to give one more try at compiling ROS against Boost 1.46.1 before moving on to upgrade the WAM PC-104 internal machine. Since I have not heard from you in a while, I would like to check again on the linkers and cmake files for ROS compilation. Regards, Andr [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Kyle Maroney * <km@barrett.com> 3 de outubro de 2012 14:24 Para: Andr Goto <goto.andre@gmail.com> Andr, I apologize for the delayed response. Fortunately, I had saved of an image of the drive that had 10.04/ROS Electric and was able to recreate the disk today. There were a few things, and one in particular stuck out to me. I would like you to try the following: $ cd ~/ $ mkdir ros (this is where the source and our packages will go. You can put this elsewhere if you would like, just adjust the following instructions accordingly.) $ cd ros $ sudo sh -c 'echo "deb http://packages.ros.org/ros/__ubuntu <http://packages.ros.org/ros/ubuntu> lucid main" > /etc/apt/sources.list.d/ros-__latest.list' $ wget http://packages.ros.org/ros.__key <http://packages.ros.org/ros.key> -O - | sudo apt-key add $ sudo apt-get install build-essential python-yaml cmake subversion wget python-setuptools mercurial git-core python-pip $ sudo pip install -U rosinstall vcstools Add the following lines to your ~/.bashrc file source ~/ros/electric/setup.bash source ~/ros/env export LD_LIBRARY_PATH="/usr/local/__lib:$LD_LIBRARY_PATH" (This was the most interesting..) Drop in the attached environment file to your ~/ros folder. (Unnecessary but useful for the future).

$ source ~/.bashrc $ cd ~/ros $ rosinstall ~/ros "http://packages.ros.org/cgi-__bin/gen_rosinstall.py?__rosdistro=electric&varian t=__ros-base&overlay=no <http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=electric&variant=ro s-base&overlay=no>" Install barrett-ros-pkg $ svn co http://web.barrett.com/svn/__barrett-ros-pkg/trunk <http://web.barrett.com/svn/barrett-ros-pkg/trunk> barrett-ros-pkg If this does not work, I may just compress and send you the compiled version of Electric on my 10.04 image. Let me know how it goes! [Texto das mensagens anteriores oculto] <?ui=2&ik=1a736d3041&view=att&th=13a288454896bd5f&attid=0.1&disp=inline&safe=1&z w> *env* 1K -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 3 de outubro de 2012 14:45 Para: Kyle Maroney <km@barrett.com> Kyle, I have followed your steps, but the same boost-related error happened again during compilation. I have attached the log file associated to the errors - it is the same issue I was having before. I can try running the compiled version you have and see if it works with Libbarrett on my machine. Andr [Texto das mensagens anteriores oculto] <?ui=2&ik=1a736d3041&view=att&th=13a2897948189a84&attid=0.1&disp=inline&realatti d=f_h7uyqxpx1&safe=1&zw> *buildfailures-with-context.txt* 19K -----------------------------------------------------------------------*Kyle Maroney * <km@barrett.com> 4 de outubro de 2012 06:57 Para: Andr Goto <goto.andre@gmail.com> Andr, Please do the following: #Download the tarball of the compiled ROS directory $ cd ~/ $ wget http://web.barrett.com/temp/ros.tar.gz <http://web.barrett.com/temp/ros.tar.gz> Please make sure you have the following at the bottom of your ~/.bashrc file. source ~/ros/electric/setup.bash source ~/ros/env export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" (This was the most interesting..)

$ $ $ $ #

cd ~/ tar -xf ros.tar.gz rm ros.tar.gz cd ros source ~/.bashrc Compiled ROS Electric should now be in ~/ros

Checkout Libbarrett $ svn co http://web.barrett.com/svn/libbarrett/tags/libbarrett-1.1.0 <http://web.barrett.com/svn/libbarrett/tags/libbarrett-1.1.0> $ cd libbarrett-1.1.0 $ cmake . $ make $ sudo make install $ cd .. $ rm -rf libbarrett-1.1.0 Checkout the latest barrett-ros-pkg $ cd ~/ros $ svn co http://web.barrett.com/svn/barrett-ros-pkg/trunk <http://web.barrett.com/svn/barrett-ros-pkg/trunk> barrett-ros-pkg $ cd barrett-ros-pkg/wam_robot $ rosmake Run the wam_node $ roslaunch wam_node wam_node.launch Please let me know if you are successful with this method. Regards, Kyle [Texto das mensagens anteriores oculto] [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Kyle Maroney * <km@barrett.com> 4 de outubro de 2012 07:00 Para: Andr Goto <goto.andre@gmail.com> One more thing. It seems the tarball that I made also added the /home and /robot directories. You can just move the ros directory to your own home directory and remove the rest. # $ $ $ $ After untar of the ros directory cd ~/home/robot mv ros ~/ cd ~/ rm -rf home

That should do it! Let me know how it goes. Regards, Kyle [Texto das mensagens anteriores oculto] [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 4 de outubro de 2012 17:44 Para: Kyle Maroney <km@barrett.com> Kyle,

Thanks for uploading your compiled version. After I downloaded and extracted the ROS files, I had your version under ~/ros folder. But I could not launch executables such as rosmake, roslaunch or roscore. That happened because the file ~/ros/electric/setup.sh was setting my environment with your paths. For example, the first line was export ROS_ROOT=/home/robot/ros/electric/ros In my case, I should replace 'robot' with my username, which was 'caris'. Not a problem, so I just manually edited the whole file replacing all instances of 'robot' for 'caris'. Then I was able to launch roscore. But when I did: $ roscore Traceback (most recent call last): File "/home/caris/ros/electric/ros/bin/roscore", line 34, in <module> from ros import roslaunch File "/home/caris/ros/electric/ros/core/roslib/src/ros/__init__.py", line 56, in __getattr__ raise ImportError("Cannot import module '%s': \n%s"%(name, str(e))) ImportError: Cannot import module 'roslaunch': Cannot locate installation of package roslaunch: /home/caris/ros/electric/ros/bin/rospack: error while loading shared libraries: librospack.so: cannot open shared object file: No such file or directory. ROS_ROOT[/home/caris/ros/electric/ros] ROS_PACKAGE_PATH[/home/caris/ros:/home/caris/ros/electric/robot_model_tutorials: /home/caris/ros/electric/visualization_tutorials:/home/caris/ros/electric/geomet ry_tutorials:/home/caris/ros/electric/common_tutorials:/home/caris/ros/electric/ ros_tutorials:/home/caris/ros/electric/documentation:/home/caris/ros/electric/ge ometry_experimental:/home/caris/ros/electric/robot_model_visualization:/home/car is/ros/electric/geometry_visualization:/home/caris/ros/electric/diagnostics_moni tors:/home/caris/ros/electric/executive_smach_visualization:/home/caris/ros/elec tric/laser_pipeline:/home/caris/ros/electric/image_common:/home/caris/ros/electr ic/rx:/home/caris/ros/electric/visualization:/home/caris/ros/electric/visualizat ion_common:/home/caris/ros/electric/xacro:/home/caris/ros/electric/executive_sma ch:/home/caris/ros/electric/robot_model:/home/caris/ros/electric/assimp:/home/ca ris/ros/electric/pluginlib:/home/caris/ros/electric/orocos_kinematics_dynamics:/ home/caris/ros/electric/nodelet_core:/home/caris/ros/electric/geometry:/home/car is/ros/electric/bullet:/home/caris/ros/electric/filters:/home/caris/ros/electric /eigen:/home/caris/ros/electric/driver_common:/home/caris/ros/electric/diagnosti cs:/home/caris/ros/electric/common:/home/caris/ros/electric/common_msgs:/home/ca ris/ros/electric/bond_core:/home/caris/ros/electric/common_rosdeps:/home/caris/r os/electric/ros_comm] It seems that there are still problems with bad linkers. I found this same problem related on answers.ros.org <http://answers.ros.org> : http://answers.ros.org/question/10381/ros-path-relocation-error/ <http://answers.ros.org/question/10381/ros-path-relocation-error/> Basically, it is what we are trying to do (moving the whole ros directory to another location without building it again). The accepted response suggested the use of rosinstall to update the bash files. I tried to run $ rosinstall ~/ros/electric and in the end, the routine tried to compile ROS again but several

errors happen with CMake files due to the /home/robot path used for your version. For example, this is the first one I had: {------------------------------------------------------------------------------mkdir -p bin cd build && cmake -Wdev -DCMAKE_TOOLCHAIN_FILE=`rospack find rosbuild`/rostoolchain.cmake .. CMake Error: The current CMakeCache.txt directory /home/caris/ros/electric/ros_comm/test/test_crosspackage/build/CMakeCache.txt is different than the directory /home/robot/ros/electric/ros_comm/test/test_crosspackage/build where CMackeCache.txt was created. This may result in binaries being created in the wrong place. If you are not sure, reedit the CMakeCache.txt CMake Error: The source "/home/caris/ros/electric/ros_comm/test/test_crosspackage/CMakeLists.txt" does not match the source "/home/robot/ros/electric/ros_comm/test/test_crosspackage/CMakeLists.txt" used to generate cache. Re-run cmake with a different source directory. -------------------------------------------------------------------------------} (it happened for three different packages) I then tried to manually change each of the CMakeCache files and retried the rosinstall command. I got: {------------------------------------------------------------------------------mkdir -p bin cd build && cmake -Wdev -DCMAKE_TOOLCHAIN_FILE=`rospack find rosbuild`/rostoolchain.cmake .. CMake Error at build/CMakeFiles/CMakeSystem.cmake:1 (INCLUDE): include could not find load file: /home/robot/ros/electric/ros/core/rosbuild/rostoolchain.cmake Call Stack (most recent call first):

[rosbuild] Building package roslib [rosbuild] Including /home/caris/ros/electric/ros_comm/clients/roslisp/cmake/roslisp.cmake [rosbuild] Including /home/caris/ros/electric/ros_comm/clients/rospy/cmake/rospy.cmake [rosbuild] Including /home/caris/ros/electric/ros_comm/clients/cpp/roscpp/cmake/roscpp.cmake -- Configuring incomplete, errors occurred! -------------------------------------------------------------------------------} At this point I gave up because it seemed that these kinds of errors would happen for every CMake file within ROS. Please let me know if you are (or were) successful with moving a compiled version of ROS to another machine and make it work, or if you have a suggestion on how to deal with this problem. Regards, Andr [Texto das mensagens anteriores oculto] ------------------------------------------------------------------------

*Kyle Maroney * <km@barrett.com> 5 de outubro de 2012 12:13 Para: Andr Goto <goto.andre@gmail.com> Andr, It seems we overlooked the linked libraries and their paths.. I feel that your best bet would be to track down the reason you source compilation is not working correctly. This is hard to write instructions for as I did not document the process while going through the compilation process. Beyond setting the environment variables and I have previously advised, you may have to manually edit the CMakeLists.txt files that cause the errors during compilation. This is also particularly hard to advise on as I may not know what is causing the error with the compilation. I am sorry I cannot provide any exact instructions to make this compile correctly. Another option again is to consider running the WAM off of the external PC with ROS. If you do not want to mess with the CF card that you are currently using, this is where we purchase our CF Cards: http://www.digikey.com/product-detail/en/SFCF8192H4BK4SA-I-QT-553-SMA/1052-1012ND/2620346 <http://www.digikey.com/product-detail/en/SFCF8192H4BK4SA-I-QT-553-SMA/1052-1012 -ND/2620346> I would be happy to provide instructions on running the WAM node on the internal PC/104. Regards, Kyle

On 10/04/2012 08:44 PM, Andr Goto wrote: > Kyle, > > Thanks for uploading your compiled version. > > After I downloaded and extracted the ROS files, I had your version > under ~/ros folder. But I could not launch executables such as > rosmake, roslaunch or roscore. That happened because the file > ~/ros/electric/setup.sh was setting my environment with your paths. > For example, the first line was > > export ROS_ROOT=/home/robot/ros/electric/ros > > In my case, I should replace 'robot' with my username, which was > 'caris'. Not a problem, so I just manually edited the whole file > replacing all instances of 'robot' for 'caris'. Then I was able to > launch roscore. But when I did: > > $ roscore > Traceback (most recent call last): > File "/home/caris/ros/electric/ros/bin/roscore", line 34, in <module> > from ros import roslaunch > File "/home/caris/ros/electric/ros/core/roslib/src/ros/__init__.py", > line 56, in __getattr__ > raise ImportError("Cannot import module '%s': \n%s"%(name, str(e))) > ImportError: Cannot import module 'roslaunch':

> Cannot locate installation of package roslaunch: > /home/caris/ros/electric/ros/bin/rospack: error while loading shared > libraries: librospack.so: cannot open shared object file: No such file > or directory. ROS_ROOT[/home/caris/ros/electric/ros] > ROS_PACKAGE_PATH[/home/caris/ros:/home/caris/ros/electric/robot_model_tutorial s:/home/caris/ros/electric/visualization_tutorials:/home/caris/ros/electric/geom etry_tutorials:/home/caris/ros/electric/common_tutorials:/home/caris/ros/electri c/ros_tutorials:/home/caris/ros/electric/documentation:/home/caris/ros/electric/ geometry_experimental:/home/caris/ros/electric/robot_model_visualization:/home/c aris/ros/electric/geometry_visualization:/home/caris/ros/electric/diagnostics_mo nitors:/home/caris/ros/electric/executive_smach_visualization:/home/caris/ros/el ectric/laser_pipeline:/home/caris/ros/electric/image_common:/home/caris/ros/elec tric/rx:/home/caris/ros/electric/visualization:/home/caris/ros/electric/visualiz ation_common:/home/caris/ros/electric/xacro:/home/caris/ros/electric/executive_s mach:/home/caris/ros/electric/robot_model:/home/caris/ros/electric/assimp:/home/ caris/ros/electric/pluginlib:/home/caris/ros/electric/orocos_kinematics_dynamics :/home/caris/ros/electric/nodelet_core:/h > ome/caris/ros/electric/geometry:/home/caris/ros/electric/bullet:/home/caris/ro s/electric/filters:/home/caris/ros/electric/eigen:/home/caris/ros/electric/drive r_common:/home/caris/ros/electric/diagnostics:/home/caris/ros/electric/common:/h ome/caris/ros/electric/common_msgs:/home/caris/ros/electric/bond_core:/home/cari s/ros/electric/common_rosdeps:/home/caris/ros/electric/ros_comm] > [Texto das mensagens anteriores oculto] [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Andr Goto * <goto.andre@gmail.com> 9 de outubro de 2012 10:48 Para: Kyle Maroney <km@barrett.com> Kyle, Thanks for your help. We will consider the remaining options before deciding what to do next. Since this is my last week as an intern, it is likely that another person from our lab will be contacting you about this issue. I will keep them updated so we will not need to revisit the same methods we already tried. It seems that one solution which is also probably going to work would be using an external machine supplied by Barrett. Is it possible to acquire one of these? In that case, how much would it cost? Regards, Andr [Texto das mensagens anteriores oculto] -----------------------------------------------------------------------*Kyle Maroney * <kpm@barrett.com> 9 de outubro de 2012 13:37 Para: Andr Goto <goto.andre@gmail.com> Andr, Thanks for your help. We will consider the remaining options before deciding what to do next. Since this is my last week as an intern, it is likely that another person from our lab will be contacting you about this issue. I will keep them updated so we will not need to revisit the same methods we already tried. Ok. Thank you for your patience and I am sorry that we could not provide

a better solution. It seems that one solution which is also probably going to work would be using an external machine supplied by Barrett. Is it possible to acquire one of these? In that case, how much would it cost? Our external PCs are available for purchase. The external PC would be preloaded with the latest Barrett software and ROS. Specifications can be found at the bottom of the following page: http://support.barrett.com/__wiki/WAM/SystemComponentList <http://support.barrett.com/wiki/WAM/SystemComponentList> The cost of the external PC is $3000 USD. Please let me know if you would like to request an official quote. We would be happy to answer any further questions you may have. [Texto das mensagens anteriores oculto]

Vous aimerez peut-être aussi