diff --git a/README.md b/README.md index 78a428b..eca2a82 100644 --- a/README.md +++ b/README.md @@ -4,5 +4,5 @@ This repository contains resources for learning DQ Robotics using MATLAB. ## Available courses |Course|Path|Contents|Status| |---|---|---|---| -Kinematic modeling and control of serial-link robotic manipulators using DQ Robotics: From zero to hero|/robotic_manipulators|A crash course on the kinematic modeling and control of robotic manipulators. Start from the very basic mathematical operations available in MATLAB to constrained kinematic control of manipulators with multiple degrees-of-freedom.|Stable| - +Kinematic modeling and control of serial-link robotic manipulators using DQ Robotics: From zero to hero|[/robotic_manipulators](https://github.com/ffasilva/learning-dqrobotics-in-matlab/tree/coppeliasim-interface/robotic_manipulators)|A crash course on the kinematic modeling and control of robotic manipulators. Start from the very basic mathematical operations available in MATLAB to constrained kinematic control of manipulators with multiple degrees-of-freedom.|Stable| +CoppeliaSim interface with DQ Robotics: From zero to hero|[/coppeliasim_interface](https://github.com/ffasilva/learning-dqrobotics-in-matlab/tree/coppeliasim-interface/coppeliasim_interface)|A crash course on the interface with CoppeliaSim robot simulator. |Under development| diff --git a/coppeliasim_interface/README.md b/coppeliasim_interface/README.md new file mode 100644 index 0000000..e98a1bc --- /dev/null +++ b/coppeliasim_interface/README.md @@ -0,0 +1,46 @@ +# CoppeliaSim interface with DQ Robotics: From zero to hero + +A crash course on the interface with CoppeliaSim robot simulator. + +All lessons are in MATLAB Live Script format, meaning that the coding is explained alongside the mathematical equations that they represent. At the end of each lesson, there is a homework section to help the reader internalize the concepts introduced in the lesson. + +## How to use + +1. Install [MATLAB](https://www.mathworks.com/products/matlab.html). +2. Clone the latest version of the [DQ Robotics](https://github.com/dqrobotics/matlab) or [download it as a ZIP package](https://github.com/dqrobotics/matlab/archive/refs/heads/master.zip). +2. Add it to the MATLAB path. + * Set Path > Add with Subfolders. +4. Clone this repository or [download it as a ZIP package](https://github.com/dqrobotics/learning-dqrobotics-in-matlab/archive/refs/heads/master.zip). +5. Install [CoppeliaSim](https://www.coppeliarobotics.com/). +6. Download the [CoppeliaSim scenes](https://osf.io/2tfsx/) (the .ttt files) used in the lessons. +7. Open each lesson in MATLAB and follow through the live script. + +## Lessons + +The following lessons are currently available. +|Number|Title|Content| +|---|---|---| +|1|*CoppeliaSim Basics*|The very basics of CoppeliaSim, including simulation setup.| +|2|*Static World (part 1)*|How to interact with objects on CoppeliaSim in static scenes.| +|3|*Static World (part 2)*|How to interact with robots on CoppeliaSim in static scenes.| +|4|*Dynamic World*|How to interact with robots on CoppeliaSim in dynamic scenes.| + +## References + +As a crash course on CoppeliaSim interface, these lessons assume basic knowledge of dual quaternion algebra and on the use of DQ Robotics and CoppeliaSim. + +1. For an introduction on dual quaternion algebra to robotics, see [1]. +2. For basic lessons on kinematic modeling and control using DQ Robotics, see [2]. +3. For general CoppeliaSim tutorials, see [3]. + +- [[1]](https://hal.archives-ouvertes.fr/hal-01478225/) Adorno, B.V., 2017. Robot Kinematic Modeling and Control Based on Dual Quaternion Algebra---Part I: Fundamentals. +- [[2]](https://github.com/ffasilva/learning-dqrobotics-in-matlab/tree/coppeliasim-interface/robotic_manipulators) Kinematic modeling and control of serial-link robotic manipulators using DQ Robotics: From zero to hero. +- [[3]](https://manual.coppeliarobotics.com/en/tutorials.htm) CoppeliaSim tutorials. + +## Acknowledgments + +Frederico Fernandes Afonso Silva would like to thank Ana Christina Almada Campos for volunteering ( :stuck_out_tongue_winking_eye: ) to review the first version of these lessons. + +## Comments/Suggestions... + +If you have any issues, please let us know. diff --git a/coppeliasim_interface/lesson1/lesson_1_coppeliasim_basics.mlx b/coppeliasim_interface/lesson1/lesson_1_coppeliasim_basics.mlx new file mode 100644 index 0000000..e5ea427 Binary files /dev/null and b/coppeliasim_interface/lesson1/lesson_1_coppeliasim_basics.mlx differ