diff --git a/README.md b/README.md index bda4f1d..f7f9d31 100644 --- a/README.md +++ b/README.md @@ -2,17 +2,17 @@ Each of the following codes allows a specific directive to be sent to a 2D planar robot: -**[jointControl](#jointControl)**: Drives the mBot robot to a target location (x, y, theta) using gyroscopic data for precise navigation and orientation tracking. +**[jointControl](#jointControl)**: Drives the robot using joint values. -**[cartControl](#cartControl)**: Drives the mBot robot to a target location (x, y, theta) using gyroscopic data for precise navigation and orientation tracking. +**[cartControl](#cartControl)**: Drives the robot using cartesian values. -**[testKinematics](#testKinematics)**: Retrieves and prints real-time X, Y, and Z angles from the gyro sensor, enabling orientation monitoring. +**[testKinematics](#testKinematics)**: Tests each kinematic algorithm and makes sure they are at the expected value. -**[linearControl](#linearControl)**: Implements basic movement patterns such as moving forward, backward, and turning left or right for foundational motion control. +**[linearControl](#linearControl)**: Drives the robot using cartesian values in a linear trajectory. -**[drawImage](#drawImage)**: Simulates Roomba-like behavior by integrating ultrasonic sensors for obstacle detection and avoidance during autonomous navigation. +**[drawImage](#drawImage)**: Draws an input image. -**[linearControlFurther](#linearControlFurther)**: Implements line-following behavior using a line-finder module to detect and respond to black lines on the ground for path tracking. +**[linearControlFurther](#linearControlFurther)**: Improvement of the linear control which checks for the determinant of the Jacobian to be valid. # Repository Structure @@ -117,25 +117,21 @@ Each of the following codes allows a specific directive to be sent to a 2D plana Documentation for the repository. -# .DS_Store - -System file (can be ignored or removed from the repository). - # Requirements -Hardware: mBot robot kit +Hardware: Ergo Poppy Jr. -Software: Arduino IDE +Software: C++ Programming -Libraries: Ensure required libraries (e.g., MeMCore.h) are installed in Arduino IDE. +Libraries: Ensure required libraries (Dynamixel SDK - DynamixelHandler.h) # Installation Clone this repository: -git clone https://gitarero.ecam.fr/charles.stelandre/IntroRoboticsLab2.git +git clone https://gitarero.ecam.fr/charles.stelandre/IntroRoboticsLab1.git -Open Arduino IDE and navigate to the folder containing the .ino file you want to use. +Open a text editor and navigate to the folder containing the .cpp file you want to use. Install any necessary libraries via Arduino Library Manager. @@ -143,8 +139,12 @@ Upload the code to your mBot using a USB connection. # Usage -Navigate to the folder corresponding to the desired functionality (e.g., gyro/). +Navigate to your installation directory. -Open the .ino file in Arduino IDE. +Make the file using ``` make ``` + +Navigate to the bin folder. + +Execute the desired file in the command line/ Follow any instructions provided in the comments within the code to execute experiments.