ahundt / grl

Robotics tools in C++11. Implements soft real time arm drivers for Kuka LBR iiwa plus V-REP, ROS, Constrained Optimization based planning, Hand Eye Calibration and Inverse Kinematics integration.
https://ahundt.github.io/grl/
BSD 2-Clause "Simplified" License
154 stars 72 forks source link

GRL import on Sunrise Workbench #175

Closed kamilcetin closed 4 years ago

kamilcetin commented 5 years ago

I have some problem on importing grl project on Sunrise Workbench. I followed the instructions of Kuka LBR iiwa Java Setup at https://ahundt.github.io/grl/howto/iiwaKukaRobotSetup.html

I got stuck with the step of Setup Java Driver Software. I copy the folders in ${GRL_DIR}/src/java/grl/ from Ubuntu 16.04, then try to import the grl project with the Sunrise Workbench. However, when I select the grl folder from File > Import > General > Existing Projects into Sunrise Workspace GUI, the project does not seem on the list and it is not possible to Finish as shown below. screenshot_grl_import

On the other side, when I import the grl project from File > Import > General > File System, it is loaded on the Sunrise Project. In this case, it is not possible to install the SunriseProject with imported files of grl onto the Kuka Controller due to the errors on the grl, grl.driver, grl.flatbuffer, grl.flatBufferTesting as shown below. screenshot_grl_error

Do you have an idea for the reason of the problem? Is the way of importing grl on the SunsireProject true? Should I install more packages on the project to prevent the errors at ...java files? Thanks in advance.

ahundt commented 5 years ago

I think you might be able to simply manually add the files by creating a fresh project and copy them in. I'm traveling at the moment so I might not be able to respond immediately.

On Wed, Nov 21, 2018 at 10:42 AM Kamil Cetin notifications@github.com wrote:

I have some problem on importing grl project on Sunrise Workbench. I followed the instructions of Kuka LBR iiwa Java Setup at https://ahundt.github.io/grl/howto/iiwaKukaRobotSetup.html

I got stuck with the step of Setup Java Driver Software. I copy the folders in ${GRL_DIR}/src/java/grl/ from Ubuntu 16.04, then try to import the grl project with the Sunrise Workbench. However, when I select the grl folder from File > Import > General > Existing Projects into Sunrise Workspace GUI, the project does not seem on the list and it is not possible to Finish as shown below. [image: screenshot_grl_import] https://user-images.githubusercontent.com/44842167/48834660-3cfdf400-ed76-11e8-9dab-ad808e981c5d.png

On the other side, when I import the grl project from File > Import > General > File System, it is loaded on the Sunrise Project. In this case, it is not possible to install the SunriseProject with imported files of grl onto the Kuka Controller due to the errors on the grl, grl.driver, grl.flatbuffer, grl.flatBufferTesting as shown below. [image: screenshot_grl_error] https://user-images.githubusercontent.com/44842167/48835268-aa5e5480-ed77-11e8-8330-c82875f1b13a.png

Do you have an idea for the reason of the problem? Is the way of importing grl on the SunsireProject true? Should I install more packages on the project to prevent the errors at ...java files? Thanks in advance.

ā€” You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ahundt/grl/issues/175, or mute the thread https://github.com/notifications/unsubscribe-auth/AADZwBtN60-6NyuwNDH69kTBAJoeo-M6ks5uxS4dgaJpZM4Ys2js .

-- Cheers! Andrew Hundt

Ph.D. Student Johns Hopkins University

kamilcetin commented 5 years ago

I created a new project (named as OSLproject). After the import of the grl, Flat_Buffer_Testing file was appeared on the Package Explorer. I copied grl, grl.driver, grl.flatbuffer, grl.flatBufferTesting to the new project. Then, I installed it, but when I do sync, it gives deployment failure as shown below. error3 However, as you see the java codes there are some miss class (such as import org.zeromq.ZMQ; import com.google.flatbuffers.FlatBufferBuilder; import com.google.flatbuffers.Table;) Do you think that I should also create those java class files to fix the problem?

ahundt commented 5 years ago

flatbuffers and zmq are actual java libraries you need to install here is the flatbuffers one, for example:

https://github.com/davidmoten/flatbuffers

kamilcetin commented 5 years ago

I found those java libraries and directly copied into the src directory of the project in the interface. Then I could install and do the sync. Then I changed the Ethernet port to FRI/Koni and saw GRL_driver application from the smart pad. When I chose it and run, the interface says that FRI Joint Overlay Complete! I think I completed the FRI and GRL installations on both side (remote ubuntu and KRC worksation). Now, where can I find example cpp codes and how to run them from ROS?

ahundt commented 5 years ago

"FRI Joint Overlay Complete!" is printed when everything is initialized, that means it is working and waiting for a CPP connection to be initialized. That's great news! I know the wording is unclear I just never got around to fixing it, sorry about that.

Once you compile the CPP code by following the GRL instructions the ROS cpp code is in https://github.com/ahundt/grl/tree/master/src/ros there is also an example shell script that I believe will move the robot to the straight up position or a fixed tilted position.

If you run it be sure to consider safety, leave lots of space and be at a safe distance, it may be sudden and fast.

ahundt commented 5 years ago

You may also have to enable the ros component so it compiles, this is done via ccmake in your cmake directory, where you change the compile options, or via the -DWITH_ROS=ON flag.

This script does the install with ROS on ubuntu 14.04 and ubuntu 16.04: https://github.com/ahundt/robotics_setup/blob/master/grl_kuka.sh#L57

kamilcetin commented 5 years ago

Hi Andrew,

I installed all dependent libraries and made grl install as you mentioned in the script before. As you see the screen picture of the SmartPad of KUKA (which is in my another issue at https://github.com/ahundt/grl/issues/176), before "FRI Joint Overlay Complete!", it says "UDP Connecting to: tcp://172.31.1.100:3010" which is actually belongs to Laptop_Java/Ros_Master. However, my real-time ubuntu port is 192.170.10.100 as Laptop_KONI_FRI written in Process Data.

I would like to ask that do we need to have two separate ethernet ports at our laptop which are connected to both ports (Kuka_Java and Kuka_fri) of the Kuka PC?

Thanks, Kamil

kamilcetin commented 5 years ago

It works now! When I connect both ethernet ports of the Kuka to my computer with two separate ethernet ports, I could run the grl.driver and move the robot through FRI.

ahundt commented 5 years ago

cool! I'm super happy to hear that! šŸ‘ @cpaxton

ahundt commented 5 years ago

@efipsom it looks like @kamilcetin was able to get things running, were you still having trouble?

kamilcetin commented 5 years ago

About the GRL installation, I have no trouble.

Now, I am dealing with the inverse kinematics solutions of Kuka lbr iiwa. Do you know which src codes in grl repository I can use or where I have to look at?

ahundt commented 5 years ago

IK can be a bit painful to set up because it depends on each particular robot's attachments etc.

I use tasks for IK & control https://github.com/jrl-umi3218/Tasks.

I created a model of my robot in V-REP, and created a plugin in InverseKinematicsVrepPlugin.hpp which loads the specific joints in my model. In this plugin the geometry is copied from V-REP into Tasks, and then I use the tasks solver to do the planning.

kamilcetin commented 5 years ago

In order to make easy for me, first, I think I should start to use its Jacobian matrix from the forward kinematic equations. How can I create the kinematic model of Kuka lbr iiwa 14 in V-REP?

ahundt commented 5 years ago

It's in the list of existing robot models in the app. You just drag and drop. I think there is an example vrep scene mentioned in the documentation you can use.

On Mon, Dec 17, 2018 at 11:13 AM Kamil Cetin notifications@github.com wrote:

In order to make easy for me, first, I think I should start to use its Jacobian matrix from the forward kinematic equations. How can I create the kinematic model of Kuka lbr iiwa 14 in V-REP?

ā€” You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/ahundt/grl/issues/175#issuecomment-447901406, or mute the thread https://github.com/notifications/unsubscribe-auth/AADZwO20k3uKyMu_wl-uvhb0elvq4gwUks5u58KXgaJpZM4Ys2js .

--

Cheers! Andrew Hundt

kamilcetin commented 5 years ago

Which one is the example what you mentioned; v_repExtPluginSkeleton.cpp or KukaLBRiiwaVrepPluginTest.cpp ?

ahundt commented 5 years ago

the .ttt files in https://github.com/ahundt/grl/tree/master/data can be opened with http://coppeliarobotics.com/index.html. There might be a newer version in https://github.com/ahundt/robone/tree/master/data, or I might have to update it.

Usually I have one model that tracks where the arm is now, and another model which tracks where the arm will go. I put them both at the same base position in the same simulation. FYI these kinematics features are ones we've run on multiple robots but I'm not sure anyone outside our lab has integrated them via GRL yet. All of the components are tested on multiple robots but configuration may have a steep learning curve.

ahundt commented 4 years ago

Closing this issue because it has not been updated in a while. Feel free to reopen