Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • master
1 result

Target

Select target project
  • ceti/ros/packages/sample_applications
  • johannes.mey/sample_applications
  • nikaviator/sample_applications
  • chbraun/sample_applications
4 results
Select Git revision
  • grasping_sample
  • master
2 results
Show changes
Commits on Source (3)
### Sample applications for ROS combined with a (simulated) Franka Emika Panda robots
# Sample applications for ROS combined with a (simulated) Franka Emika Panda robots
⚠ This repository must be checked out in a [catkin](http://wiki.ros.org/catkin)
workspace containing the [franka_description](https://git-st.inf.tu-dresden.de/ceti/ros/franka_description),
[panda_moveit_config](https://git-st.inf.tu-dresden.de/ceti/ros/panda_moveit_config),
and [panda_simulation](https://git-st.inf.tu-dresden.de/ceti/ros/panda_simulation) ROS packages provided here.
For more information and installation instructions, please consult the [main project](https://git-st.inf.tu-dresden.de/ceti/ros/panda_gazebo_workspace).
Contains different examples for the planning and execution of robotic motions with MoveIt in ROS.
##### The different examples:
## Example Applications
- Planning and simulation based on rviz: `roslaunch panda_simulation simulation.launch`
- RViz window to control the robot ([tutorial](http://docs.ros.org/melodic/api/moveit_tutorials/html/doc/quickstart_in_rviz/quickstart_in_rviz_tutorial.html))
- Gazebo window to observe the executed robot motion
- rqt to show log messages
- Minimal example of an execution of a simple motion: `roslaunch sample_applications sample_minimal_simulation.launch`
- Gazebo window to observe the executed robot motion
- Execution of a simple motion (with tooling): `roslaunch sample_applications sample_simple_simulation.launch`
- RViz window to see the plan and trigger the motion (press *next* in the RvizVisualToolGUI)
- Gazebo window to observe the executed robot motion
- rqt to show log messages
- Execution of a simple motion costraint by a blocking object: `roslaunch sample_applications sample_constraint_simulation.launch`
- RViz window to see the plan and trigger the motion (press *next* in the RvizVisualToolGUI)
- Gazebo window to observe the executed robot motion
- rqt to show log messages
- Execution of a velocity constraint cartesian trajectory: `roslaunch sample_applications simulation.launch`
- RViz window to see the plan and trigger the motion (press *next* in the RvizVisualToolGUI)
Please note that all examples must be run in a built catkin workspace from within
a shell with all ROS paths properly set up (i.e., after running `source devel/setup.sh`).
### Minimal "Hello World" Example
This example of an execution of a simple motion.
- Command: `roslaunch sample_applications sample_minimal_simulation.launch`
- Expected results:
- A Gazebo window opens in which the executed robot motion can be observed.
- The motion starts immediately after the the system has loaded.
### Execution of a Simple Motion with Tooling
This is the same example as the first one, but this time, additional tooling is loaded.
- Command: `roslaunch sample_applications sample_simple_simulation.launch`
- Expected results:
- A Gazebo window to observe the executed robot motion opens
- An rqt window to show log messages opens
- An RViz window to see the plan and trigger the motion open.
- The motion does **not** start automatically, instead it must be triggered by pressing *next* in the RvizVisualToolsGUI within RViz
### Execution of a Simple Motion Costrained by a Blocking Object
In this example, an object can be observed in the RViz planning window. This object constrains the motion of the robot, such that the robot moves around it.
- Command: `roslaunch sample_applications sample_constraint_simulation.launch`
- Expected results:
- A Gazebo window to observe the executed robot motion opens
- An rqt window to show log messages opens
- An RViz window to see the plan and trigger the motion open.
- The motion does **not** start automatically, instead it must be triggered by pressing *next* in the RvizVisualToolsGUI within RViz
### Execution of a Velocity Constraint Cartesian Trajectory
- Command: `roslaunch sample_applications simulation.launch`
- Expected results:
- A Gazebo window to observe the executed robot motion opens
- An rqt window to show log messages opens
- An RViz window to see the plan and trigger the motion open.
- The motion does **not** start automatically, instead it must be triggered by pressing *next* in the RvizVisualToolsGUI within RViz
### Planning and Simulation based on RViz
This is an example to use RViz and Gazebo interactively. Motions can be planned and executed from the RViz GUI.
- Command: `roslaunch panda_simulation simulation.launch`
- Expected results:
- RViz window to control the robot
- Gazebo window to observe the executed robot motion
- rqt to show log messages
- The robot does not move automatically, but can be controlled with RViz (cf. the [tutorial](http://docs.ros.org/melodic/api/moveit_tutorials/html/doc/quickstart_in_rviz/quickstart_in_rviz_tutorial.html))
......@@ -23,6 +23,8 @@
<!-- <node name="rqt_logger_level" pkg="rqt_logger_level" type="rqt_logger_level" /> -->
<node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-param robot_description -urdf -model panda" />
<param name="box_description" command="$(find xacro)/xacro --inorder $(find sample_applications)/models/box.xacro"/>
<node name="spawn_object" pkg="gazebo_ros" type="spawn_model" args="-param box_description -urdf -model box"/>
<!-- Load joint controller configurations from YAML file to parameter server -->
<rosparam file="$(find panda_simulation)/config/panda_control.yaml" command="load" />
......
<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="simple_box">
<link name="object_base_link">
</link>
<joint name="object_base_joint" type="fixed">
<parent link="object_base_link"/>
<child link="object_link"/>
<axis xyz="0 0 1" />
<origin xyz="0 0 0" rpy="0 0 0"/>
</joint>
<link name="object_link">
<inertial>
<origin xyz="0.4 -0.2 1.0" />
<mass value="1.0" />
<inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="100.0" iyz="0.0" izz="1.0" />
</inertial>
<visual>
<origin xyz="0.4 -0.2 1.0"/>
<geometry>
<box size="0.4 0.1 0.4" />
</geometry>
</visual>
<collision>
<origin xyz="0.4 -0.2 1.0"/>
<geometry>
<box size="0.4 0.1 0.4" />
</geometry>
</collision>
</link>
<gazebo reference="object_base_link">
<gravity>0</gravity>
</gazebo>
<gazebo reference="object_link">
<material>Gazebo/Blue</material>
</gazebo>
</robot>
\ No newline at end of file
......@@ -12,7 +12,7 @@
#include <trajectory_msgs/JointTrajectoryPoint.h>
/**
* simple demo of constraint aware planning
* simple demo of a robotic motion
*/
int main(int argc, char** argv)
{
......