17 October 2018 at 15:17 #6364
I created a cleaned up and working version of the RViz and Gazebo simulation for the e.DO Robot.
The original package which is provided by Comau did not start up and the model which is used there is completely broken (wrong axes, different length of joints, …).
With my Version you can use RViz to plan a path and then control the e.DO robot in simulation. If someone wants to write a wrapper for the real robot, then you could even use RViz to control the real robot.
The packages you need are on my github Account:
Feel free to take my implementation and fork it to your repository.
Stefan17 October 2018 at 17:52 #6373
Thank you for your developments, we are really happy that the community is proactive. However, the Virtual e.DO is not internal to Comau but developed by an external contributor.
Your passion is really appreciated.
Best regards13 March 2019 at 2:38 #7271
I’m trying to use your RViz simulation but am having difficulty getting it to work. When I load any of your configurations into RViz I get the error under RobotModel saying “Parameter [robot_description] does not exist, and was not found by searchParam()”. I’ve looked around for a solution to this problem and have spent a few hours trying to figure it out, but I can’t. Do you know how this problem can be solved?
Gabe13 March 2019 at 9:44 #7275
did you use all my packages I listed above?
You can not use the ones from Comau since they are full of bugs and wrong annotations.
mkdir edo_test && cd edo_test mkdir src cd src catkin_init_workspace git clone https://github.com/Pro/edo_gazebo git clone https://github.com/Pro/edo_gripper git clone https://github.com/Pro/eDO_description cd .. catkin_make
Then open two terminals with the commands
roslaunch edo_description edo_upload.launch roslaunch edo_description test.launch
That gives you the image as shown here:
Are these the steps you followed?
Make sure that you start a clean rosmaster, otherwise the description sometimes fails.
STefan14 March 2019 at 1:50 #7282
Your last message was very helpful. I am still running into troubles however. When I try “roslaunch eDO_description edo_upload.launch” I get the following error:
RLException: [edo_upload.launch] is neither a launch file in package [eDO_description] nor is [eDO_description] a launch file name
The traceback for the exception was written to the log file
I double checked the package and file names and they are correct. I’m not sure what to do to fix this. Do you know what to do here?
Thanks and best,
Gabe14 March 2019 at 9:08 #7285
Note the lowercase package name in my command and your version which uses “eDO”.
Maybe that’s the issue?
Also make sure that there isn’t any other package with the same name already in your ROS workspace, e.g. the original one from comau. You should only have the ones listed above.
Stefan14 March 2019 at 16:39 #7288
I’ve tried multiple combinations of eDo, edo, eDO etc… I’m still getting the same error.
When I search the options available in the roslaunch command I see all of the other packages that I already had installed in addition to the packages I got from your Github. The only difference is that all of the packages that I’ve tried to load from you Github have a / trailing them (e.g. eDO_description/), whereas the other packages don’t have the / (e.g. catkin).
This makes me think that when I ran catkin_make, packages available to ros were not created from the Github repositories. Perhaps I’m missing something big or not understanding an important concept. Do you understand whats going on here?
Thanks and best,
Gabe14 March 2019 at 16:43 #7291
I guess that you are mixing multiple ROS environments. Try to start a clean ROS environment by removing all the
source /home/..../devel/setup.bashfrom your .bashrc
Then open a new terminal and only
source /opt/ros/melodic/setup.bash. After that roslaunch shouldn’t show any packages.
Then create a new ros workspace as shown above and
Hope that helps.
Otherwise you will need to do more googling.
Stefan20 March 2019 at 0:08 #7294
Thank you for this improvement! I’m on the way to complete the MoveIt package so that it can take control over an actual (real) robot.
Unless I missed something, Comau has not documented the ROS interface. Here are the nodes running on all e.DO robots:
We need 2 things to take over control from MoveIt: 1. the
/joint_statespublisher and 2. the
/joint_statesis easy from the
/usb_jnt_state topic. I sketched a joint state publisher there.
2. Sending robot trajectories is a little bit more touchy without documentation. I assume
/algo_jnt_ctrlis a good basis to send joint commands. It’s published at 100Hz by the algorithm-something node that looks like a place that stores motions you can replay (I’m unsure). So I disabled this thing in a first step (
rosservice call /algo_control_switch_srv "mode: 1"Mode 0 means “take control”, mode 1 means “release control”), by trying to publish on
/algo_jnt_ctrlby myself. That gave no motion, probably because joints were not powered. This is managed by the “state machine”, which has the following states (translated from italian code comments):
INIT = 0, /* Initial State */ NOT_CALIBRATE = 1, /* Not calibrated */ CALIBRATE = 2, /* Calibrated */ MOVE = 3, /* Move execution in progress */ JOG = 4, /* Jog execution in progress */ MACHINE_ERROR = 5, /* Error state, needing a reboot */ BRAKED = 6 /* brake active, no motor power supply */ COMMAND_STATE = 255 /* Temporary state when a command is executed */
At first boot,
rostopic echo /machine_state -n1returns state 0 (INIT). I don’t know yet how to commute the machine state, but I assume it has to be
CALIBRATEin order to accept joint commands, re-using the last calibration data.
Also I haven’t differentiated topic
/usb_jnt_state. Could it be uncalibrated vs calibrated states? The “USB” term does not suggest that difference, though.
Any input is appreciated!
- This reply was modified 1 day, 9 hours ago by Yoan Mollard.
You must be logged in to reply to this topic.