Comments (12)
The "Robot is not connected..." error is a stupid bug that I always don't bother to fix, it is printed also when the robot is actually connected, so please don't rely on that. I will fix it asap.
About the rest, did you perform the setup describe in here on the robot cabinet?
ROSJava at some point looks for available network interfaces to connect to a ROS Master, with the setup we describe we basically make the network interface on the KONI port available in Java (and therefore for ROSJava), so that it is found and used for our communication.
Without the above setup ROSJava will only find the internal virtual network to the Real Time OS on the cabinet and try to use that, I think that is that weird IP address.
If you did perform that setup tho, then let me know and I will think in some other directions!
from iiwa_stack.
Hi @SalvoVirga thanks for your relpy. We tried both with KONI interface and also using the standard X1 Ethernet plug on the front side of the KUKA iiwa robot. Nevertheless we were not able to execute and control the robot using ROS.
Regards
from iiwa_stack.
I still didn't get if you perform the setup on the cabinet described here. Did you also get printer out that IP address with that setup?
from iiwa_stack.
Hey
Yes we performed the setup on the cabinet as well as the linux machine.
In the pictures you see the output generated after starting SmartServo and launching iiwa_tool_command_moveit.launch
We also tried to get some information with rosrun iiwa_tool_examples read_robot_state but the result is a Robot is not connected...Error (I know just ignore) and in the roscore Terminal it prints Couldn't find an AF_INET adress for [[fe80] (same as for iiwa_tool_command).
The IP Adresses are:
Linux Computer Network: 172.31.1.148
bashrc:
export ROS_MASTER_URI=http://172.31.1.148:11311
export ROS_IP=172.31.1.148
Cabinet: 172.31.1.147
Thank you for your support!
from iiwa_stack.
Wait, if you did this setup, you should have now two available ethernet adapters on the cabinet.
- One to sync the Sunrise project (let's call it SUNRISE Ethernet) - bottom right of the front panel of the cabinet (right above the power button).
- One to be used with iiwa_stack (let's call it KONI), on the bottom left of the front panel of the cabinet (next to the usb ports).
This:
The IP Adresses are:
Linux Computer Network: 172.31.1.148
bashrc:
export ROS_MASTER_URI=http://172.31.1.148:11311
export ROS_IP=172.31.1.148
Cabinet: 172.31.1.147
looks weird to me.
172.31.1.147 is the default IP for the SUNRISE Ethernet port, while you should use the KONI port for iiwa_stack.
You should have one ethernet cable from your computer to the KONI port when using iiwa_stack on another subnet (not 172.31.1.xxx). In the setup, for example, we use 160.69.69.69 for the robot and 160.69.69.100 for the Linux computer.
You should use the interface on 172.31.1.xxx only to synchronise the Sunrise project on the robot. (Ideally you have two ethernet interfaces on the Linux machine and keep two Ethernet cables the whole time on).
So be sure that you have the right setup, you should be able to ping the robot from the Linux machine to its KONI interface (e.g. ping 160.69.69.69 if you use the same IP from the setup page).
In general, this FAQ contains everything you need to check:
The final configuration will looks something like this:
Sunrise interface IP Cabinet: 172.31.1.147
Sunrise interface IP Linux Computer: 172.31.1.147
KONI interface Cabinet: 160.69.69.69
KONI interface Linux Computer: 160.69.69.100
bashrc:
export ROS_MASTER_URI=http://160.69.69.100:11311
export ROS_IP=160.69.69.100
in config.txt in the Sunrise project:
master_ip: 160.69.69.100
master_port: 11311
If only have 1 Ethernet interface on your Linux Computer, you need to switch between the two when synchronising and when using iiwa_stack. The subnet 160.69.69.xxx is just an example, you could use any other (not 172.31.1.xxx).
I hope this can help you and that I was clear, please write if not or if you encounter any other problem!
from iiwa_stack.
We adapted our Network settings to your suggestions.
The fe[[80]... Error is gone now.
We still can't control the robot and there are a lot of Error Messages coming on the Touchpanel. (see pictures below.)
from iiwa_stack.
it looks better!
Can you ping the robot at 160.69.69.69 from the Linux Machine?
Which version of Sunrise do you have?
Which branch or commit of iiwa_stack do you use?
I remember that error was showing up when I was moving from Sunrise 1.7 to Sunrise 1.9. If you use Sunrise1.9 you should use this branch (git clone -b master-Sunrise1.9 https://github.com/SalvoVirga/iiwa_stack.git
)
from iiwa_stack.
Yes the ping works.
We use the most recent version. That should be 1.9 .
We used the older Version. After the update to the branch you recommend we got error messages again. But that was only for the first try. Later today we will dig into it and start with reloading the java_ros part using the file in the new branch.
from iiwa_stack.
Yes, be careful with the jar files in ROSJavaLib, they change between branches.
Delete all the old one and add the new ones, if you have errors because some required jar files are not found anymore, right-click on the project, Build Path -> Configure Build Path... -> Libraries and remove from the list the missing libraries.
From 1.7 to 1.9 xml-apis-1.0.b2.jar
was removed.
from iiwa_stack.
With the new ROSJavaLib it is making progress.
The robot is unlocking when a node is started and we get the following ouput.
The interesting error message is probably:
The object template "tool" was not found.
Also gazebo and rviz are loaded but the simulated robot is not updated with the current position of the real robot.
We tried a few different launch files but mostl
y roslaunch iiwa_tool_examples iiwa_tool_command_moveit.launch
Update:
With a automated program that determines the mass of the tool we managed to solve the "Tool was not found error". The new Error Messages are:
from iiwa_stack.
the iiwa_tool repository was meant to show examples on how to build your own modules, for example, extending the robot description with an attached tool. Therefore, it is not meant to be used as it is.
In fact, that launch file that you are using calls a description of an iiwa 7 with a dummy tool attached on the flange, that is simply called tool
, and it tries to use it.
As I explain here, once the tool is in the robot description you have to also created it in Sunrise and its frames accordingly to the naming convention.
Then, in your launch file you can just say which tool you want to use and the right tool will be used in Sunrise as well.
So the error there says it all. That launch file tells Sunrise to use a tool named tool
, but you have no tool name tool
created in Sunrise and it tells you exactly that.
To just test if iiwa_stack works for you, run roslaunch iiwa_moveit moveit_planning_execution.launch sim:=false
. You should then have all the topics to command the robot and read its state.
If you need to attach a tool to your robot, you can take inspiration from iiwa_tool and read the wiki about it, but you will need to create your modules accordingly to your needs. iiwa_tool is not meant to be directly used (at least if you don't want to use a useless pointy tool that sits in my lab).
from iiwa_stack.
Great, it is working :)
Thank you a lot.
from iiwa_stack.
Related Issues (20)
- Is it possible to access the I/O-groups? HOT 1
- Using iiwa_moveit results in a jerky motion HOT 4
- Q: What is [override_joint_acceleration] in SetSmartServoJointSpeedLimits.srv HOT 1
- Compatability with kuka med 7 HOT 1
- Python MoveIt integration
- Robot semantic description not found. Did you forget to define or remap '/robot_description_semantic'? HOT 1
- ‘ConfigureControlMode’ is not a member of ‘iiwa_msgs’ HOT 1
- Use of DirectServo instead of SmartServo? HOT 1
- Can't find the srv about “configuresmartservo” in ROS Noetic. HOT 1
- Problems with the accuracy of the desired force mode
- Installing the Servoing module in Workbench / Is it mandatory to have a Windows 7 machine as the Programming computer? HOT 1
- iiwa_stack ip configuration issue
- Direct Servo Joints Control Implementation
- Diect publish joint positions HOT 2
- Errors using Gazebo and iiwa_stack examples
- Smooth Velocity Control using iiwa/command/JointVelocity HOT 4
- Creating safety configuration
- subscribe the sensor data not in real time
- who can really use this stack to communicate with kuka iiwa robot smoothly???
- Suspect setMaxCartesianVelocity ought to actually call the service
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from iiwa_stack.