Giter Site home page Giter Site logo

myyerrol / learning-moveit Goto Github PK

View Code? Open in Web Editor NEW
4.0 3.0 2.0 5.81 MB

:book: This ros metapackage contains some packages that I wrote it myself according to the tutorials provided by the MoveIt! official website. The MoveIt! Tutorials website is: http://docs.ros.org/kinetic/api/moveit_tutorials/html/index.html.

License: BSD 3-Clause "New" or "Revised" License

CMake 5.59% C++ 90.81% Shell 3.61%

learning-moveit's Introduction

learning-moveit

1. Introduction

This ros metapackage contains some packages that I wrote it myself according to the tutorials provided by the MoveIt! official website. The MoveIt! Tutorials website is: http://docs.ros.org/kinetic/api/moveit_tutorials/html/index.html. Before you begin to learn, you must first glance at the following Notes!

1.1 Basic Components

  • panda_bringup: The panda_bringup package provides roslaunch for starting panda_arm_hand motion planning and simulation test.
  • panda_description: The panda_description package provides a complete 3D model of the panda_arm_hand for simulation and visualization.

1.2 Motion Simulation

  • panda_gazebo: The panda_gazebo package can launch panda_arm_hand in gazebo simulator.
  • panda_gazebo_controller_config: The panda_gazebo_controller_config package provides controller configuration files for simulating panda_arm_hand in gazebo.

1.3 Motion Control

  • panda_teleop: The panda_teleop package can control panda_arm_hand by using keyboard.

1.4 Motion Planning

  • panda_moveit_config: The panda_moveit_config package provides configuration and launch files for using the panda_arm_hand with the MoveIt! Motion Planning Framework.
  • panda_moveit_control: The panda_moveit_control package provides motion planning and control for panda_arm_hand by using kinematics.

2. Installation

  • Installing ROS packages.
$> roscd
$> cd ../src
$> git clone https://github.com/myyerrol/learning-moveit.git
$> cd ..
$> rosdep install -y --from-paths src --ignore-src --rosdistro kinetic
$> cd src/learning-moveit
$> ./setup.sh
  • Building ROS packages.
$> roscd
$> cd ..
$> catkin_make

3. Usage

3.1 Motion control

$> roslaunch panda_bringup panda_bringup_gazebo.launch
$> rosrun panda_teleop panda_teleop_arm_hand_keyboard

panda_control_rviz panda_control_gazebo

3.2 Motion Planning

$> roslaunch panda_moveit_config demo.launch

panda_planning_demo


$> roslaunch panda_bringup panda_bringup_gazebo_and_moveit.launch

panda_planning_rviz panda_planning_gazebo

4. Notes

4.1 Controller Warning

When you run panda_bringup_gazebo.launch or panda_bringup_gazebo_and_moveit.launch, you will notice that the terminal will output following some warning messages:

[ WARN] [1534040926.378110292, 0.132000000]: The default_robot_hw_sim plugin is using the Joint::SetPosition method without preserving the link velocity.
[ WARN] [1534040926.378135775, 0.132000000]: As a result, gravity will not be simulated correctly for your model.
[ WARN] [1534040926.378288871, 0.132000000]: Please set gazebo_pid parameters, switch to the VelocityJointInterface or EffortJointInterface, or upgrade to Gazebo 9.
[ WARN] [1534040926.378348094, 0.132000000]: For details, see https://github.com/ros-simulation/gazebo_ros_pkgs/issues/612

As mentioned above, the PositionJointInterface can't simulate gravity in Gazebo. It must use the VelocityJointInterface or EffortJointInterface. But because setting the PID parameters of the panda manipulator is very complicated and time-consuming, I chose the PositionJointInterface to reduce the workload. The result is that when the velocity and amplitude of the panda manipulator exceeds a certain value, the entire panda manipulator will fly in Gazebo! I hope that someone will be able to solve this problem thoroughly.

4.2 MoveIt Sensor Error

When you run panda_moveit_config/launch/demo.launch or other moveit launch files, you will notice that the terminal will output following some error messages:

[ERROR] [1534042979.682769522]: XmlRpc Exception: type error
[ERROR] [1534042979.682802441]: Failed to configure updater of type PointCloudUpdater

I haven't found a solution to this problem for a long time on Google, and I'm sure there's no problem with the panda_moveit_config/config/sensors_xtion.yaml file. If someone has encountered similar problem, I hope he can provide a solution, thanks.

4.3 Gazebo Pick Error

Whenever I remotely control panda manipulator to grasp ojbects on the cabinet in Gazebo, objects will always be flown at the moment the end effector is clamped. About this problem, I analyzed the possible reason is that the parameters of the Gazebo simulation are not set correctly. Of course, there may be other reasons. I wrote it down first, and if I have a chance and enough time latter I'll fix it.

learning-moveit's People

Contributors

myyerrol avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

dhivin ilovevenki

learning-moveit's Issues

How to run pick and place demo??

Hello,

I could run roslaunch panda_bringup panda_bringup_gazebo_and_moveit.launch to spawn panda arm in gazebo and start rviz.
In panda_moveit_control i can see panda_moveit_pick_place_object.cpp, but i didn't find any launch file for to launch this node.

can you please tell how to run this pick and place demo?

Problem resolving rosdep dependency

Hi.
I'm trying to build the catkin workspace, but I encounter this dependency problem:

rosdep install -y --from-paths . --ignore-src --rosdistro kinetic
Output: ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
learning_moveit: Cannot locate rosdep definition for [panda_moveit_motion_planning]

Currently, I'm running Ubuntu 16.04 with Ros Kinetic.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.