{"id":80906,"date":"2024-06-19T14:43:34","date_gmt":"2024-06-19T18:43:34","guid":{"rendered":"https:\/\/www.engineersgarage.com\/?p=80906"},"modified":"2024-06-20T16:16:10","modified_gmt":"2024-06-20T20:16:10","slug":"how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino","status":"publish","type":"post","link":"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/","title":{"rendered":"How to design pick-and-place robot using Arduino"},"content":{"rendered":"<p>In this project, we\u2019ll design an omnidirectional, moving pick-and-place robot. First, let\u2019s cover how the robot is built.<\/p>\n<p><strong>The robot&#8217;s build<\/strong><\/p>\n<div id=\"attachment_80907\" style=\"width: 750px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-1.-The-robot.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-80907\" class=\"size-large wp-image-80907\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-1.-The-robot-1024x445.png\" alt=\"\" width=\"740\" height=\"322\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-1.-The-robot-1024x445.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-1.-The-robot-300x130.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-1.-The-robot-768x334.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-1.-The-robot-368x160.png 368w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-1.-The-robot.png 1442w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><p id=\"caption-attachment-80907\" class=\"wp-caption-text\"><strong>Figure 1.<\/strong> The various components of the pick-and-place robot.<\/p><\/div>\n<p>As shown in <strong>Figure 1<\/strong>, the robot consists of two sections:<\/p>\n<ul>\n<li>An omnidirectional moving platform<\/li>\n<li>A robotic arm<\/li>\n<\/ul>\n<p><strong>The omnidirectional platform<br \/>\n<\/strong>The robot is built using one circular wooden plate, three dc gear motors, and three omnidirectional wheels.<\/p>\n<p>The wooden plate is 8-mm thick and 500 mm in diameter. The three dc gear motors are of 12V and 300 rpm. They&#8217;re fixed at the bottom side of wooden plate using clamps at a specific angle as shown. All three motors are fixed at an angle of 120<sup>o<\/sup> from one another.<\/p>\n<p>The omnidirectional wheels are attached to the dc motor shaft directly, using the given screw in the motor shaft.<\/p>\n<p><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-1.19.16\u202fPM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-80908\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-1.19.16\u202fPM-1024x567.png\" alt=\"\" width=\"514\" height=\"285\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-1.19.16\u202fPM-1024x567.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-1.19.16\u202fPM-300x166.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-1.19.16\u202fPM-768x425.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-1.19.16\u202fPM-368x204.png 368w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-1.19.16\u202fPM.png 1052w\" sizes=\"auto, (max-width: 514px) 100vw, 514px\" \/><\/a><\/p>\n<p><strong>The robotic arm<\/strong><\/p>\n<ul>\n<li>The arm is built using 3D printed parts and six dc servo motors. These motors give it six degrees of freedom (DoF).<\/li>\n<li>The base servo motor full rotates the arm clockwise or anticlockwise from 0<sup style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;\">o <\/sup><span style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;\">to 160<\/span><sup style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;\">o<\/sup><span style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;\">.<\/span><\/li>\n<li>The lower servo is used to move the lower arm up and down in 50<sup style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;\">o <\/sup><span style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;\">movements.<\/span><\/li>\n<li>The upper servo is used to move the upper arm up and down in 50<sup style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;\">o <\/sup><span style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;\">movement.<\/span><\/li>\n<li>The wrist roll servo is used to rotate the grip wrist clockwise or anticlockwise, as \u00b160<sup style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;\">o<\/sup><span style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;\"> on either side of the center position.<\/span><\/li>\n<li>The wrist yaw servo moves the grip wrist up and down from 0<sup style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;\"> o <\/sup><span style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;\">to 90<\/span><sup style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;\">o<\/sup><span style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;\">.<\/span><\/li>\n<li>The grip servo is used to open or close the grip to <strong>??<\/strong><\/li>\n<\/ul>\n<p><strong>Block diagram<br \/>\n<\/strong>The robot system is made of two sections:<\/p>\n<p><strong>1. Remote control section:<\/strong> used to remotely control all of the robot&#8217;s movements<\/p>\n<p><strong>2. Robot control section:<\/strong> used to actuate the three dc motors and six servo motors. It also controls the robot&#8217;s motion basd on the commands from the remote control.<\/p>\n<p><strong>The remote control section<\/strong><\/p>\n<div id=\"attachment_80909\" style=\"width: 750px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-2.-Remote-control.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-80909\" class=\"size-large wp-image-80909\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-2.-Remote-control-1024x552.png\" alt=\"\" width=\"740\" height=\"399\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-2.-Remote-control-1024x552.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-2.-Remote-control-300x162.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-2.-Remote-control-768x414.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-2.-Remote-control-368x198.png 368w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-2.-Remote-control.png 1209w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><p id=\"caption-attachment-80909\" class=\"wp-caption-text\"><strong>Figure 2.<\/strong> The block diagram of the omnidirectional PnP robot, using Arduino NANO and the HC12 module.<\/p><\/div>\n<p><span data-preserver-spaces=\"true\">The primary building blocks of the remote control include Arduino NANO board, the joystick, pushbuttons, the HC12 RF trans-receiver module, and an LED.<\/span><\/p>\n<p><strong><span data-preserver-spaces=\"true\">Arduino NANO:<\/span><\/strong><span data-preserver-spaces=\"true\">\u00a0The remote control\u2019s MCU responsible for the complete operation of this section.\u00a0<\/span><\/p>\n<ol>\n<li><span data-preserver-spaces=\"true\">It reads analog outputs generated from the joystick<\/span><\/li>\n<li><span data-preserver-spaces=\"true\">It reads digital inputs from buttons<\/span><\/li>\n<li><span data-preserver-spaces=\"true\">It serially transmits different codes using the RF trans-receiver module<\/span><\/li>\n<li><span data-preserver-spaces=\"true\">It indicated that code is being transmitted via the LED<\/span><\/li>\n<\/ol>\n<p><strong><span data-preserver-spaces=\"true\">Joystick:<\/span><\/strong><span data-preserver-spaces=\"true\">\u00a0The two-axis joystick has two potentiometers internally and is moved in either direction (up-down and left-right).\u00a0<\/span><\/p>\n<p><span data-preserver-spaces=\"true\">Note: the resistance value varies. This will generate variable analog output voltages, Vx and Vy. These two voltages are given as input to Arduino NANO\u2019s internal ADC. The joystick controls the motion of the omnidirectional base (platform), which moves in all directions as per the joystick.\u00a0<\/span><\/p>\n<p><strong><span data-preserver-spaces=\"true\">Pushbuttons:<\/span><\/strong><span data-preserver-spaces=\"true\">\u00a0These give digital input (logic 0) to Arduino, control the robotic arm\u2019s movement, and control the six servo motors. Two buttons are required for each servo motor, for a total of 12 buttons.\u00a0<\/span><\/p>\n<p><strong><span data-preserver-spaces=\"true\">HC12 module:<\/span><\/strong><span data-preserver-spaces=\"true\">\u00a0This is an RF trans-receiver module that works on the 434 MHz frequency. It receives code (data) serially from Arduino and transmits it.<\/span><\/p>\n<p><strong><span data-preserver-spaces=\"true\">LED:<\/span><\/strong><span data-preserver-spaces=\"true\">\u00a0This light blinks every time that code is transmitted.<\/span><\/p>\n<p><strong>The robot control section<\/strong><\/p>\n<div id=\"attachment_80910\" style=\"width: 750px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-3-Robot-control.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-80910\" class=\"size-large wp-image-80910\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-3-Robot-control-1024x552.png\" alt=\"\" width=\"740\" height=\"399\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-3-Robot-control-1024x552.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-3-Robot-control-300x162.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-3-Robot-control-768x414.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-3-Robot-control-368x198.png 368w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-3-Robot-control.png 1373w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><p id=\"caption-attachment-80910\" class=\"wp-caption-text\"><strong>Figure 3.<\/strong> This bock diagram shows the main parts of the robot&#8217;s control section.<\/p><\/div>\n<p><span data-preserver-spaces=\"true\">\u00a0<\/span><span data-preserver-spaces=\"true\">The main building blocks of the robot\u2019s control section include Arduino, Bluetooth, the HC12 module, the motor driver, and the dc and servo motors.<\/span><\/p>\n<p><strong>Arduino NANO:<\/strong><span data-preserver-spaces=\"true\">\u00a0Similar to the remote-control section, Arduino is also used as an MCU in this control section and is responsible for its full operation.\u00a0<\/span><\/p>\n<ol>\n<li>It receives transmitted code from the Bluetooth or HC12 modules<\/li>\n<li>It moves the robot in the required direction by controlling the three dc motors<\/li>\n<li>It controls the robotic arm\u2019s movement by generating PWM signals to control the six servo motors<\/li>\n<\/ol>\n<p><strong>Bluetooth module:<\/strong>\u00a0It receives transmitted code from a smartphone\u2019s Bluetooth and sends it to Arduino for further action.<\/p>\n<p><strong>HC12 module:<\/strong>\u00a0It receives transmitted code from the remote control\u2019s HC12 module and sends it to Arduino.<\/p>\n<p><strong>Motor driver module:<\/strong>\u00a0It provides the dc motors with the required voltage and current. The motor drive receives input from Arduino and drives the three dc motors based on the robot\u2019s desired movements.<\/p>\n<p><strong>Dc motors:<\/strong>\u00a0The three dc motors provide omnidirectional movement to the robot (via the wheels).<\/p>\n<p><strong>Servo motors:<\/strong>\u00a0The six dc servo motors provide the robotic arm with six different movement options (6 DoF), allowing it to \u201cpick-and-place\u201d objects.<\/p>\n<p><strong>Circuit diagram for the remote control<br \/>\n<\/strong><span data-preserver-spaces=\"true\">The remote control circuit consists of Arduino NANO, the HC12 module, a joystick, pushbuttons, an LED, and a battery.<\/span><\/p>\n<div id=\"attachment_80911\" style=\"width: 750px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image4-omnidirectional-robot.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-80911\" class=\"size-large wp-image-80911\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image4-omnidirectional-robot-1024x586.png\" alt=\"\" width=\"740\" height=\"423\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image4-omnidirectional-robot-1024x586.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image4-omnidirectional-robot-300x172.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image4-omnidirectional-robot-768x440.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image4-omnidirectional-robot-368x211.png 368w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image4-omnidirectional-robot.png 1209w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><p id=\"caption-attachment-80911\" class=\"wp-caption-text\">Figure 4. The remote control&#8217;s circuit diagram for the omnidirectional pick-and-place robot.<\/p><\/div>\n<p><span data-preserver-spaces=\"true\">There are 12 pushbuttons connected to Arduino&#8217;s digital pins D0 \u2013 D11. Each button&#8217;s other terminal is connected to the ground.<\/span><\/p>\n<ul>\n<li><span data-preserver-spaces=\"true\">The HC12 module has four connecting pins: (1) Vcc (2) Gnd (3) Tx, and (4) Rx. <\/span><\/li>\n<li><span data-preserver-spaces=\"true\">The Vcc pin is connected to Arduino&#8217;s 5V output pin and the Gnd pin is connected to the circuit ground. The Tx and Rx pins are connected to Arduino&#8217;s A2 (16) and A3 (17) pins, respectively.<\/span><\/li>\n<li><span data-preserver-spaces=\"true\">The joystick has four connecting pins: (1) Vcc (2) Gnd (3) Vx, and (4) Vy. <\/span><\/li>\n<li><span data-preserver-spaces=\"true\">The Vcc pin is connected to Arduino&#8217;s 5V output pin and the Gnd pin is connected to the circuit ground. The Vx and Vy pins are connected to Arduino&#8217;s A0 and A1 pins, respectively.<\/span><\/li>\n<li><span data-preserver-spaces=\"true\">The LED is connected to digital pin D13.<\/span><\/li>\n<\/ul>\n<p><strong>The robot&#8217;s control circuit:<\/strong><\/p>\n<div id=\"attachment_80912\" style=\"width: 750px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-5-Circuit-diagram.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-80912\" class=\"size-large wp-image-80912\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-5-Circuit-diagram-1024x444.jpg\" alt=\"\" width=\"740\" height=\"321\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-5-Circuit-diagram-1024x444.jpg 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-5-Circuit-diagram-300x130.jpg 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-5-Circuit-diagram-768x333.jpg 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-5-Circuit-diagram-1536x667.jpg 1536w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-5-Circuit-diagram-2048x889.jpg 2048w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Image-5-Circuit-diagram-368x160.jpg 368w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><p id=\"caption-attachment-80912\" class=\"wp-caption-text\"><strong>Figure 5.<\/strong> The control circuit diagram for the omnidirectional pick-and-place robot.<\/p><\/div>\n<p>&nbsp;<\/p>\n<ul>\n<li>The HC05 module has four connecting pins: (1) Vcc (2) Gnd (3) Tx, and (4) Rx.<\/li>\n<li>The Vcc pin is connected to Arduino&#8217;s 5V output pin and the Gnd pin is connected to the circuit ground. The Tx and Rx pins are connected to Arduino&#8217;s A2 (16) and A3 (17) pins, respectively.<\/li>\n<li>The HC12 module has four connecting pins: (1) Vcc (2) Gnd (3) Tx, and (4) Rx.<\/li>\n<li>The Vcc pin is connected to Arduino&#8217;s 5V output pin and the Gnd pin is connected to the circuit ground. The Tx and Rx pins are connected to Arduino&#8217;s A4 (18) and A5 (19) pins, respectively.<\/li>\n<li>The dc motors A, B, and C are connected to digital output pins through the motor driver modules. The digital pins are provided as input to the motor driver modules and its output are connected to motors.<\/li>\n<li>The digital pins D2 and D4 drive motor A. The pins D7 and D8 drive motor B. The pins D12 and D13 drive motor C.<\/li>\n<li>The six servo motors are driven by six of Arduino&#8217;s analog (PWM) outputs. The servo motor signal input pins are connected to the analog ouput pins based on the table below.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.20.04\u202fPM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-80915\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.20.04\u202fPM.png\" alt=\"\" width=\"503\" height=\"504\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.20.04\u202fPM.png 972w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.20.04\u202fPM-300x300.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.20.04\u202fPM-150x150.png 150w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.20.04\u202fPM-768x770.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.20.04\u202fPM-238x238.png 238w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.20.04\u202fPM-600x600.png 600w\" sizes=\"auto, (max-width: 503px) 100vw, 503px\" \/><\/a><strong>The circuit&#8217;s operation<\/strong><\/p>\n<p><strong>The remote control&#8217;s circuit operation<br \/>\n<\/strong>The only function of the remote control is to transmit a specific code when any of the 12 buttons is pressed or the joystick is moved. When a button is pressed, the Arduino pin connects to the ground. The pin receives logic &#8216;0&#8217; as an input, so Arduino detects that the button was pressed. Arduino then transmits one particular character as the code for each button pressed (see the table below).<\/p>\n<p><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.28.37\u202fPM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-80916\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.28.37\u202fPM-1024x636.png\" alt=\"\" width=\"697\" height=\"433\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.28.37\u202fPM-1024x636.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.28.37\u202fPM-300x186.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.28.37\u202fPM-768x477.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.28.37\u202fPM-1536x955.png 1536w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.28.37\u202fPM-368x229.png 368w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.28.37\u202fPM.png 1696w\" sizes=\"auto, (max-width: 697px) 100vw, 697px\" \/><\/a><\/p>\n<p><span data-preserver-spaces=\"true\">Next, Arduino sends this code serially to the HC12 module, which transmits it using the 434 MHz carrier frequency.<\/span><\/p>\n<p><span data-preserver-spaces=\"true\">When the joystick moves from left to right, its one-pot resistance value varies. The change in resistance varies the Vx voltage of the joystick from 0 to 5 V. Arduino reads this analog voltage on pin A0 and converts it into a digital value between 0 to 1023. When this value is above 700 or below 300, it will transmit the code.<\/span><\/p>\n<p><span data-preserver-spaces=\"true\">Similarly, when the joystick is moved up and down, its pot resistance value varies, which varies the joystick&#8217;s Vy voltage from 0 to 5 V. Arduino reads this analog voltage on pin A1 and converts it into a digital value between 0 to 1023. When this value is above 700 or below 300, it will transmit the code.<\/span><\/p>\n<p><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.34.38\u202fPM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-80917\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.34.38\u202fPM-1024x475.png\" alt=\"\" width=\"697\" height=\"323\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.34.38\u202fPM-1024x475.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.34.38\u202fPM-300x139.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.34.38\u202fPM-768x357.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.34.38\u202fPM-1536x713.png 1536w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.34.38\u202fPM-368x171.png 368w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.34.38\u202fPM.png 1650w\" sizes=\"auto, (max-width: 697px) 100vw, 697px\" \/><\/a><\/p>\n<p>For any omnidirectional movement, the joystick is moved diagonally, &#8220;left-right-up-n-down.&#8221; Arduino will transmit four more codes for each of the four directional movements below.<\/p>\n<p><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.36.58\u202fPM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-80918\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.36.58\u202fPM-1024x523.png\" alt=\"\" width=\"697\" height=\"356\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.36.58\u202fPM-1024x523.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.36.58\u202fPM-300x153.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.36.58\u202fPM-768x392.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.36.58\u202fPM-1536x784.png 1536w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.36.58\u202fPM-368x188.png 368w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.36.58\u202fPM.png 1638w\" sizes=\"auto, (max-width: 697px) 100vw, 697px\" \/><\/a><\/p>\n<p>The remote control transmits 12 + 8 = 20 different codes, including 12 codes for the robotic arm\u2019s movement and eight codes for the omnidirectional platform movement.<\/p>\n<p><strong>The robot&#8217;s control circuit operation<\/strong><br \/>\nThis circuit receives the code from the remote control or a smartphone via Bluetooth. It controls the movement of the omnidirectional platform and the robotic arm. It also controls the direction of the three dc motors and the angle of the six servo motors, based on the desired movement for the robot.<\/p>\n<p>The three dc motors move the robot forward and backward in eight different directions. The angles of the six servo motors are increased or decreased to achieve the full 6 DoF.<\/p>\n<p>The HC12 module receives transmitted code from the remote control and sends it serially to Arduino. The code can be transmitted from a smartphone via Bluetooth, controlled through an Android app. The code is received by the HC05 module and sent serially to Arduino. The transmitted code is the same, regardless of whether it is sent from the remote control or a smartphone.<\/p>\n<p>Arduino receives up to 20 different codes, such as W, A, D, X, Q, E, Z, C, P, O, I, U (provided in the above tables). When it receives the codes W, A, D, X, Q, E, Z, and C, (from the joystick), it moves the omnidirectional platform. When it receives the codes P, O, I, etc. (from the pushbuttons), it moves the robotic arm.<\/p>\n<p>When code from the joystick is received to move the platform, Arduino will rotate the three dc motors forward and backward, according to the code from the omnidirectional platform.<\/p>\n<p><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.49.51\u202fPM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-80919\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.49.51\u202fPM-1024x551.png\" alt=\"\" width=\"695\" height=\"374\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.49.51\u202fPM-1024x551.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.49.51\u202fPM-300x162.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.49.51\u202fPM-768x414.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.49.51\u202fPM-1536x827.png 1536w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.49.51\u202fPM-368x198.png 368w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.49.51\u202fPM.png 1842w\" sizes=\"auto, (max-width: 695px) 100vw, 695px\" \/><\/a><\/p>\n<p>When code is received from the pushbuttons, Arduino generates six PWM signals to control the angles of the six servo motors to move the robotic arm.<\/p>\n<p><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.52.31\u202fPM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-80920\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.52.31\u202fPM-1024x1001.png\" alt=\"\" width=\"696\" height=\"680\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.52.31\u202fPM-1024x1001.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.52.31\u202fPM-300x293.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.52.31\u202fPM-768x751.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.52.31\u202fPM-243x238.png 243w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Screenshot-2024-04-12-at-2.52.31\u202fPM.png 1426w\" sizes=\"auto, (max-width: 696px) 100vw, 696px\" \/><\/a><\/p>\n<p>To control the robot&#8217;s movement by using smartphone, you must have an Android app that sends codes via Bluetooth. The android app work as remote control. The operation of the remote control and robot&#8217;s control circuit works because of the below software program, which must be uploaded to both Arduino NANO boards.<\/p>\n<p><strong>Software program<br \/>\n<\/strong>The programs for the remote control and robot&#8217;s control are developed using the Arduino IDE software. It&#8217;s written in Arduino C\/C++ language.<\/p>\n<p><strong>Remote control program<br \/>\n<\/strong>This program performs the following tasks:<\/p>\n<ol>\n<li>Reads digital inputs from 12 buttons<\/li>\n<li>Reads two analog input voltages from the joystick<\/li>\n<li>Serially sends specific character as a code to the HC12 module when any button is pressed or the joystick is moved<\/li>\n<li>Blinks the LED when code is transmitted<\/li>\n<\/ol>\n<p>It uses Arduino&#8217;s inbuilt \u201c<em>SoftwareSerial\u201d<\/em> library to communicate with the HC12 module. Here is the program code.<\/p>\n<p><strong>The code<\/strong><\/p>\n<style>\n.gist-data{    height:250px; \/\/ Any height    overflow: auto;<br \/>}<\/style>\n<p><script src=\"https:\/\/gist.github.com\/Ajak58a\/07ceb2b73f1f2ecd046d2a26553f4f3d.js\"><\/script><\/p>\n<p><strong><u>Robot control program:<\/u><\/strong><\/p>\n<p>It performs following tasks<\/p>\n<ol>\n<li>It receives data (code) from either HC12 or HC05 module serially<\/li>\n<li>It reads and compares the received code.<\/li>\n<li>It will rotate 3 DC motors clockwise and anticlockwise to give omnidirectional movement to platform.<\/li>\n<li>It will generate 6 PWM signals to control angles of 6 servos.<\/li>\n<\/ol>\n<p>It uses inbuilt \u201c<em>SoftwareSerial<\/em>\u201d and \u201c<em>Servo<\/em>\u201d libraries of Arduino to serially communicate with HC12 and control servo motors. Here is the program code.<\/p>\n<style>\n.gist-data{    height:250px; \/\/ Any height    overflow: auto;<br \/>}<\/style>\n<p><script src=\"https:\/\/gist.github.com\/Ajak58a\/e9523685d1dba88e0961dd887b02f230.js\"><\/script><\/p>\n<p><strong>The video<\/strong><\/p>\n<p><iframe loading=\"lazy\" title=\"smart phone controlled omnidirectional moving 6 axis robotic arm\" width=\"740\" height=\"416\" src=\"https:\/\/www.youtube.com\/embed\/yR0SH-sqgZA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this project, we\u2019ll design an omnidirectional, moving pick-and-place robot. First, let\u2019s cover how the robot is built. The robot&#8217;s build As shown in Figure 1, the robot consists of two sections: An omnidirectional moving platform A robotic arm The omnidirectional platform The robot is built using one circular wooden plate, three dc gear motors,&hellip;<\/p>\n","protected":false},"author":64,"featured_media":80922,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[32,13,1853,1871],"tags":[1175,3850,4339,4435,3890,420,4436,660],"class_list":{"2":"type-post","19":"entry","20":"has-post-thumbnail"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.2 (Yoast SEO v25.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to design Arduino based Pick and Place robot<\/title>\n<meta name=\"description\" content=\"The robot is built using one circular wooden plate, three dc gear motors, and three omnidirectional wheels.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to design pick-and-place robot using Arduino\" \/>\n<meta property=\"og:description\" content=\"The robot is built using one circular wooden plate, three dc gear motors, and three omnidirectional wheels.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/\" \/>\n<meta property=\"og:site_name\" content=\"Engineers Garage\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/engineersgarage\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Robot-control-operation-rotator.png\" \/>\n\t<meta property=\"og:image:width\" content=\"803\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ashutosh Bhatt\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@EngineersGarage\" \/>\n<meta name=\"twitter:site\" content=\"@EngineersGarage\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ashutosh Bhatt\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/\"},\"author\":{\"name\":\"Ashutosh Bhatt\",\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/person\/ff80aa34dc1249eb691d684fec9d1c06\"},\"headline\":\"How to design pick-and-place robot using Arduino\",\"datePublished\":\"2024-06-19T18:43:34+00:00\",\"dateModified\":\"2024-06-20T20:16:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/\"},\"wordCount\":1919,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.engineersgarage.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Robot-control-operation-rotator.png\",\"keywords\":[\"Arduino\",\"arduinonano\",\"electronicproject\",\"pickandplace\",\"remotecontrol\",\"robot\",\"roboticarm\",\"video\"],\"articleSection\":[\"Arduino Projects\",\"Electronic Projects\",\"Featured Contributions\",\"Video\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/\",\"url\":\"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/\",\"name\":\"How to design Arduino based Pick and Place robot\",\"isPartOf\":{\"@id\":\"https:\/\/www.engineersgarage.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Robot-control-operation-rotator.png\",\"datePublished\":\"2024-06-19T18:43:34+00:00\",\"dateModified\":\"2024-06-20T20:16:10+00:00\",\"description\":\"The robot is built using one circular wooden plate, three dc gear motors, and three omnidirectional wheels.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/#primaryimage\",\"url\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Robot-control-operation-rotator.png\",\"contentUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Robot-control-operation-rotator.png\",\"width\":803,\"height\":500},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.engineersgarage.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to design pick-and-place robot using Arduino\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.engineersgarage.com\/#website\",\"url\":\"https:\/\/www.engineersgarage.com\/\",\"name\":\"Engineers Garage\",\"description\":\"Electronic Projects, Electrical Engineering Resources, Makers Articles and Product News\",\"publisher\":{\"@id\":\"https:\/\/www.engineersgarage.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.engineersgarage.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.engineersgarage.com\/#organization\",\"name\":\"Engineer's Garage - WTWH Media\",\"url\":\"https:\/\/www.engineersgarage.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2019\/08\/EGlogo.png\",\"contentUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2019\/08\/EGlogo.png\",\"width\":372,\"height\":52,\"caption\":\"Engineer's Garage - WTWH Media\"},\"image\":{\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/engineersgarage\",\"https:\/\/x.com\/EngineersGarage\",\"https:\/\/www.youtube.com\/channel\/UC0VITh11JSYk-UW7toLebUw\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/person\/ff80aa34dc1249eb691d684fec9d1c06\",\"name\":\"Ashutosh Bhatt\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/68b3974894b20e23ded96f2892a241268df7ecec2258979fa47e5e0955676822?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/68b3974894b20e23ded96f2892a241268df7ecec2258979fa47e5e0955676822?s=96&r=g\",\"caption\":\"Ashutosh Bhatt\"},\"url\":\"https:\/\/www.engineersgarage.com\/author\/abhatt\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to design Arduino based Pick and Place robot","description":"The robot is built using one circular wooden plate, three dc gear motors, and three omnidirectional wheels.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/","og_locale":"en_US","og_type":"article","og_title":"How to design pick-and-place robot using Arduino","og_description":"The robot is built using one circular wooden plate, three dc gear motors, and three omnidirectional wheels.","og_url":"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/","og_site_name":"Engineers Garage","article_publisher":"https:\/\/www.facebook.com\/engineersgarage","og_image":[{"width":803,"height":500,"url":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Robot-control-operation-rotator.png","type":"image\/png"}],"author":"Ashutosh Bhatt","twitter_card":"summary_large_image","twitter_creator":"@EngineersGarage","twitter_site":"@EngineersGarage","twitter_misc":{"Written by":"Ashutosh Bhatt","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/#article","isPartOf":{"@id":"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/"},"author":{"name":"Ashutosh Bhatt","@id":"https:\/\/www.engineersgarage.com\/#\/schema\/person\/ff80aa34dc1249eb691d684fec9d1c06"},"headline":"How to design pick-and-place robot using Arduino","datePublished":"2024-06-19T18:43:34+00:00","dateModified":"2024-06-20T20:16:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/"},"wordCount":1919,"commentCount":0,"publisher":{"@id":"https:\/\/www.engineersgarage.com\/#organization"},"image":{"@id":"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/#primaryimage"},"thumbnailUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Robot-control-operation-rotator.png","keywords":["Arduino","arduinonano","electronicproject","pickandplace","remotecontrol","robot","roboticarm","video"],"articleSection":["Arduino Projects","Electronic Projects","Featured Contributions","Video"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/","url":"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/","name":"How to design Arduino based Pick and Place robot","isPartOf":{"@id":"https:\/\/www.engineersgarage.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/#primaryimage"},"image":{"@id":"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/#primaryimage"},"thumbnailUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Robot-control-operation-rotator.png","datePublished":"2024-06-19T18:43:34+00:00","dateModified":"2024-06-20T20:16:10+00:00","description":"The robot is built using one circular wooden plate, three dc gear motors, and three omnidirectional wheels.","breadcrumb":{"@id":"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/#primaryimage","url":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Robot-control-operation-rotator.png","contentUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Robot-control-operation-rotator.png","width":803,"height":500},{"@type":"BreadcrumbList","@id":"https:\/\/www.engineersgarage.com\/how-to-design-an-omnidirectional-pick-and-place-robot-using-arduino\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.engineersgarage.com\/"},{"@type":"ListItem","position":2,"name":"How to design pick-and-place robot using Arduino"}]},{"@type":"WebSite","@id":"https:\/\/www.engineersgarage.com\/#website","url":"https:\/\/www.engineersgarage.com\/","name":"Engineers Garage","description":"Electronic Projects, Electrical Engineering Resources, Makers Articles and Product News","publisher":{"@id":"https:\/\/www.engineersgarage.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.engineersgarage.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.engineersgarage.com\/#organization","name":"Engineer's Garage - WTWH Media","url":"https:\/\/www.engineersgarage.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.engineersgarage.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2019\/08\/EGlogo.png","contentUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2019\/08\/EGlogo.png","width":372,"height":52,"caption":"Engineer's Garage - WTWH Media"},"image":{"@id":"https:\/\/www.engineersgarage.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/engineersgarage","https:\/\/x.com\/EngineersGarage","https:\/\/www.youtube.com\/channel\/UC0VITh11JSYk-UW7toLebUw"]},{"@type":"Person","@id":"https:\/\/www.engineersgarage.com\/#\/schema\/person\/ff80aa34dc1249eb691d684fec9d1c06","name":"Ashutosh Bhatt","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.engineersgarage.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/68b3974894b20e23ded96f2892a241268df7ecec2258979fa47e5e0955676822?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/68b3974894b20e23ded96f2892a241268df7ecec2258979fa47e5e0955676822?s=96&r=g","caption":"Ashutosh Bhatt"},"url":"https:\/\/www.engineersgarage.com\/author\/abhatt\/"}]}},"featured_image_src":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Robot-control-operation-rotator-600x400.png","featured_image_src_square":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/04\/Robot-control-operation-rotator-600x500.png","author_info":{"display_name":"Ashutosh Bhatt","author_link":"https:\/\/www.engineersgarage.com\/author\/abhatt\/"},"_links":{"self":[{"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/posts\/80906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/users\/64"}],"replies":[{"embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/comments?post=80906"}],"version-history":[{"count":0,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/posts\/80906\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/media\/80922"}],"wp:attachment":[{"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/media?parent=80906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/categories?post=80906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/tags?post=80906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}