Lynxmotion SES-V2 Robotic Arm (4 DoF) ros2

Please follow these instructions:

  1. Check the installed GCC version:

    gcc --version
    
  2. List installed GCC versions and inquire about alternatives:

    apt list --installed "gcc*"
    
  3. If you don’t have gcc-10 installed

    sudo apt update
    sudo apt install gcc-10
    sudo apt install g++-10
    
  4. Manage GCC versions with update-alternatives:

    • Adding GCC-10 to the alternatives system and setting it as the default:
      sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 10 --slave /usr/bin/g++ g++ /usr/bin/g++-10
      
  5. Automatically choose the best GCC version as default or manually set a specific version:

    sudo update-alternatives --auto gcc
    
  6. Confirm the update to GCC-10:

    gcc --version
    
  7. Attempt to build a ROS2 package using colcon:

    • Navigate to your ROS2 workspace directory where your packages are located.
    • Build the package(s) using colcon:
      colcon build
      
  8. Source the setup files to make ROS2 packages available in your current shell session:

    source install/local_setup.bash
    
  9. List ROS2 packages:

    ros2 pkg list
    

And check if lss_ros2_control is listed there

1 Like

Hello, thanks for your continous support. After fixing the gcc and g++ we are still trying to build lss_ros2_control we the face an issue with Catch2 not being properly recognized so I updated the header files to include catch_all but now I’m facing this rclcpp issue and I can’t advance.
Thank you for your help much appreciated, cheers

error-1.txt (7.3 KB)

Did you install catch2 the way it is explained in the link in the README file?

1 Like

Yeah, I followed the article. Then I got an error of catch2 not included, I had to go to some filed in the project and change cath.hpp to catch_all.hpp I read that in the catch2 documentation on github and it fixed the issue then I got the rclcpp issue that I linked. Do you think it’s a problem with the installation of catch2? from github it seems that catch2 gets a lot of updates so maybe the project stopped working at some point.

It does seem like a problem with catch2

Please try using

sudo apt install ros-galactic-ament-cmake-catch2
1 Like

still facing the same isuue ,
to make things clear, I got an error of catch2 not included, I had to go to synthesis.cpp, synthesis.cpp, parser.cpp, and indexes.cc files in the project and change catch.hpp to catch_all.hpp, then i got this issue , i have tried sudo apt install ros-galactic-ament-cmake-catch2 also but nothing changed


I will try to use the movit package without the lss_ros2_control package, how that will be affected , our focus is to detect an object then place an order for the arm to pick it then place it in other places , could you lead us how to do that

Hmm, I see. May I ask why you changed those dependency names?

You seem to have an issue with the workspaces:
docs.ros.org/en/galactic/Tutorials/Beginner-Client-Libraries/Creating-A-Workspace/Creating-A-Workspace.html

Have you tried sourcing the workspace like this before building?

source /opt/ros/galactic/local_setup.bash

I will try to use the movit package without the lss_ros2_control package, how that will be affected

You can use the moveit package without the ros2_control package using the “fake_arm_control” mode.

our focus is to detect an object then place an order for the arm to pick it then place it in other places , could you lead us how to do that

To do that I suggest investigating the MoveIt task constructor. You could also check the simulated example to follow an object:

I hope that helps!

1 Like

Hello. Hope this finds you well. We are still struggling with getting your software to work. I believe we’ve followed all steps on the github. uninstalleded, installed ROS, installed older version of Catch2.
But we are stuck at this RCLCPP error. all the other packages build fine but this one is giving us trouble. we’ve managed to plan motion on RVIZ but we want to control the arm physically with ROS2.

Please see if you can help with anything. If it’s not much hassle could you try following the steps on the github page on a fresh ubuntu install maybe that could help you detect the problem. Thank you very much for your continous support.

error

Hello @AliAbubaker

It looks like you are facing the same issue you had with the GCC compiler

Please check your gcc --version

1 Like

I’ve checked and the gcc is 10. We’ve solved that problem and the catch2 problem but it’s still not working.
What do you recommend?


I also tried running the matlab app which should work out of the box but I’ve gotten multiple errors. I’d really appreciate your help as I am on a tight deadline, preferrably I would like to use the Ros package but since that has been given me errors I’m not sure, like I said it would be really helpful if you could try a fresh install of the package on the ubuntu 20.04 and see if you get the same errors? the github page needs to be updated at least to tell users to install an older version of catch2.
I am not sure what the rclcpp isssue is being caused by but you know a complicated project like this one, even if I knew I don’t think I could or that it should be up to me to fix. The package should work out of the box to let user focus on development but we keep running into issues. There’s not much material out there that deals with this specific arm, I would recommend creating a youtbe video that goes through the hardware set up process.

Thank for your contious support. My apologies if my tone sounds rude or frustrated, sorry for bad english :frowning:

Can you share the error logs? It is much easier to debug when I know the exact errors you are getting.

1 Like

it would be really helpful if you could try a fresh install of the package on the ubuntu 20.04 and see if you get the same errors?

I understand your frustration but before releasing the package I tested it with fresh installs multiple times, even on virtual machines.

the github page needs to be updated at least to tell users to install an older version of catch2.

Could you give more specifications about this? I will be happy to update the documentation if necessary.

I am not sure what the rclcpp issue is being caused by but you know a complicated project like this one, even if I knew I don’t think I could or that it should be up to me to fix.

I understand what you mean, but unfortunately, the developer who created the control package is not available at the moment. I developed the moveit packages, which use the control package and I had similar issues with Catch2 and the GCC compiler. Still, I was able to solve them following the guidelines I mentioned to you. However, that was some time ago and maybe those fixings no longer work.

There’s not much material out there that deals with this specific arm, I would recommend creating a youtbe video that goes through the hardware set up process.

Do you need help with the hardware set up process?

Thank for your contious support. My apologies if my tone sounds rude or frustrated, sorry for bad English

Not at all! I’m here to help :slight_smile: And don’t worry about the English, it is not my first language either!

Regarding the Matlab App please install Peter Corke’s Robotics Toolbox
https://petercorke.com/toolboxes/robotics-toolbox/

To do that I used the GitHub approach:
git clone GitHub - petercorke/robotics-toolbox-matlab: Robotics Toolbox for MATLAB rtb
git clone GitHub - petercorke/spatialmath-matlab: Create, manipulate and convert representations of position and orientation in 2D or 3D using Python smtb
git clone GitHub - petercorke/toolbox-common-matlab: Common code for MATLAB toolboxes for Robotics, Machine Vision common

I added all of those repositories to one folder “peter_corke_robotics_toolbox” and then added the path to Matlab

addpath(genpath('C:\path_to_your_folder\peter_corke_robotics_toolbox'));
savepath;

Check if that worked using:

which SerialLink

Which should return the path to where that is defined, in my case it was:
E:\Documents\GIT\Lynxmotion\peter_corke_robotics_toolbox\rtb@SerialLink\SerialLink.m % SerialLink constructor

1 Like