-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clean and independent tests? #12
Comments
My idea would be to reuse the generic kinematic tests from MoveIt! (going to be) introduced in moveit/moveit#1272 together with the fanuc package from https://github.com/ros-planning/moveit_resources . This will give us a proven independent test for free. Unfortunately it's just one 6-axis robot, panda has 7 and pr2 has 2x7 (?) axis. For the kuka_kr6r700 it would be good to publish it somewhere, probably as a separate repo. You can then add a (or so) in package.xml. Or maybe it is sufficient to strip down the few thing we actually need from the moveit_config and just include that in the launch file in this repo. (I haven't looked how that is done in above PR but we can probably copy-pasta from there) |
Thank for the input @simonschmeisser! Tests within this packageWrite a single test source file that can be used for different robots using different rostest launch files. moveit_opw_kinematics_plugin::MoveItOPWKinematicsPlugin plugin_; And a test for a specific robot is setup with a rostest file that looks something like this: <launch>
<rosparam command="load" file="$(find robot_moveit_config)/test/kinematics.yaml" />
<include file="$(findrobot_moveit_config)/launch/planning_context.launch">
<arg name="load_robot_description" value="true"/>
</include>
<test pkg="moveit_opw_kinematics_plugin" type="moveit_opw_kinematics_plugin_test_robot" test-name="test_kuka">
</test>
</launch> For the robot_moveit_config packages I can wait for this pull request to have more than one robot to test on. This is probably better than publishing arbitrary robot MoveIt! configs on my github account. Note: using this tests, the consistency of the Free tests from future MoveIt!The tests in MoveIt! (from the pull request you mentioned) access the plugin through: kinematics::KinematicsBasePtr kinematics_solver_; in a plugin-independent way (using the plugin name as a parameter). Other optionsI thought about doing something like this: robot_model::JointModelGroup* joint_model_group_;
// and then in the test function:
const auto solver = joint_model_group_->getSolverInstance(); As is used inside 7-DOF RobotsThis could work for specific robots if we add functionality to specify a fixed value for a specific joint, either in |
Hey @JeroenDM could you publish the kuka package to a |
Do you mean the moveit config for the kr6r700? A list of the dependencies you need to add manually from source taken from a closed pull request:
Maybe I should do a pull request to add a light version of the kuka dependencies to the |
oh, my bad, didn't look closely enough ... I'll add a travis PR later on then (and fix it on our internal jenkins)
Certainly, I'm not sure what the requirements are for that are however. |
Ok, perfect, I just started with travis but I'll wait for your pull request then :) |
I tested this approach on our jenkins but the problem is this will also install the kuka packages later on. Might be our fault but it would be way more convenient for me to have a "resources" package without any |
Something like this: kuka_test_resources ? My original objection was that doing this is just copy pasting someone elses code in my own repository. I planned to add this directly to a fork of the moveit_resources package, but since there are some install instructions in the cmakelists there, that may also give problems? |
I fixed our internal system now, using the resource packages during testing and adding |
Some tests depend on
kuka_kr6r700_moveit_config
, this is probably not so good as you have to generate this package yourself with the MoveIt! setup assistant.Also, I build the tests as a normal ROS node and use a standard launch file to run them. This is not the right way to do it, but I really don't like the current test output of catkin tools.
The text was updated successfully, but these errors were encountered: