Integrate a new Robot in MoveIt! Step by Step

1,212 views
Skip to first unread message

Valerian Utkin

unread,
Feb 11, 2014, 4:33:35 AM2/11/14
to moveit...@googlegroups.com
Hi guys,
i want to integrate my SekuriaCobraRS ub moveit! but i have some problems by following the tutorials.
i hope you can help me.
what i've done so far:

  • updatet and upgradet with sudo apt-get update/upgrade at 9:30am
  • follow tutorial: http://docs.ros.org/hydro/api/moveit_setup_assistant/html/doc/tutorial.html
  • roslaunch moveit_setup_assistant setup_assistant.launch
  • Load SekuriaCobraSimple.urdf (with meshes in attachement: sekuria.zip)
  • regenerate default colision matrix with „min.collisions for always-colliding paris“ at 95%
  • add virtual joint: name - fixed_base, child link - base, parent frame - world, type - fixed
  • add planning group: group name - manipulator, kin. solver - kdl_kinematics_plugin, add kin. chain - base link- base, tip link fingertip1
  • add robot pose: pose name - startpose, planning group - manipulator, changed shoulder to 0.5 (get warning: [ WARN] [1392108773.593424174]: Returning dirty collision body transforms)(this is because i have the german language pack for ros. will fix this issue in the next step)
  • add passive joints: finger_joint2, fingertip_joint1/2
  • generate package in my catkin_ws/src/moveit_cobra
  • one warning: no endefectors has been added(do i need a eef for a one-arm-robot?)
  • exit setup assistant
  • open SekuriaCobra.srdf(in attachement)
  • editing the „startpose“ in <joint name="shoulder“ value=“0,5„ />
  • the , has to be a . (thats the german language pack issue)
  • roslaunch moveit_cobra demo.launch
  • only one error: [ERROR] [1392109412.467690031]: Group ‚manipulator‘ has a mimic joint. Will not initialize dynamics solver (i think this should be just a warning. ignore it.)
  • follow tutorial: http://docs.ros.org/api/pr2_moveit_tutorials/html/planning/src/doc/controller_configuration.html
  • create controllers.yaml (in attachement)
  • edit SekuriaCobra_moveit_controller_manager.launch.xml (in attachement)

what i have to do now? which launch should I start to test? what tutorial comes next?

sekuria.zip
SekuriaCobra.srdf
controllers.yaml
SekuriaCobra_moveit_controller_manager.launch.xml

Sachin Chitta

unread,
Feb 11, 2014, 4:11:28 PM2/11/14
to Valerian Utkin, moveit-users
Hi Valerian,

Actually, it looks like you are quite a bit along already - you have MoveIt! working, you seem to have a connection to your robot and now you should be able to start moving your robot. To do this:

(1) roslaunch moveit_cobra move_group.launch
(2) roslaunch moveit_cobra moveit_rviz.launch

You need to make sure that the controllers on your robot are up and running - MoveIt! does not provide these controllers themselves, it only connects to the existing controllers on the robot. The controller tutorial has a debugging section at the end which should help you determine whether your controllers are up and running.

(3) Set the Planning Scene Topic in MoveIt! Rviz Plugin: /move_group/monitored_planning_scene
(4) Start planning using the "Planning" tab of the MoveIt! Rviz plugin - set your start state to "Current State", move the goal to a new state and then press plan. If you are satisfied with the plan, press execute and you should see the plan executed on your robot.

Let me know if you have trouble in these steps.

Best Regards,
Sachin

Valerian Utkin

unread,
Feb 12, 2014, 4:22:36 AM2/12/14
to moveit...@googlegroups.com
when i start the move_group.launch, i get:
ERROR] [1392196301.767498980]: Robot model not loaded
[ERROR] [1392196301.779103170]: Planning scene not configured
seems that the programm can't find my urdf. when i start the moveit_rviz.launch, i get a (Robot Model: Status Error - URDF)

i have a arduino 2560 as a controller. there is a programm on the board that subscribes 6 topics. i think i have to read from the joint_states/postion topic with a self writen node and transform the float array in 6 integer. wher can i find a example how to subscribe data from joint_state. i also want to subscribe the status when i select the execution button in moveit. which topic is this?

Sachin Chitta

unread,
Feb 12, 2014, 1:21:21 PM2/12/14
to Valerian Utkin, moveit-users
Hi Valerian,

You need to make sure that your robot description is on the ROS param server - ideally this should be part of your setup for bringing up the robot. Alternatively, you can get planning_context to do this for you. Change the lines in move_group.launch for planning context to match the following:

 <include file="$(find moveit_cobra)/launch/planning_context.launch">
    <arg name="load_robot_description" value="true" />
  </include>

That should get your errors fixed.

Sorry, I don't have experience with the arduino - you might look on ROS answers (answers.ros.org) for more information.

Best Regards,
Sachin
Reply all
Reply to author
Forward
0 new messages