Deprecated: Required parameter $query follows optional parameter $post in /var/www/html/wp-content/plugins/elementor-extras/modules/breadcrumbs/widgets/breadcrumbs.php on line 1215
Programming the Humanoid with Block Coding in PictoBlox
[Humanoid]

Programming the Humanoid with Block Coding in PictoBlox

Description
Learn how to install, calibrate, and program Quarky’s humanoid robot kit with PictoBlox Block Coding. Create custom movements with special servo motors and servo oscillators and program the robot to perform a variety of motions and actions with ease.

Introduction

Quarky’s humanoid robot kit is a perfect way for students to learn about robot mechanisms, their control, and AI-based applications. With 6 DOF and stability features, it can be programmed to perform complex tasks with precision.

The robot is programmable with PictoBlox. PictoBlox is coding education software using graphical block-based coding and Python programming.

With PictoBlox, you can program the Humanoid to walk, dance, and make other cool moves! You can also create your own actions with special servo motors and servo oscillators.

If you haven’t installed PictoBlox, please follow the instructions:

Windows Installer (.exe)

STEP 1: Download the Pictoblox Installer (.exe) for Windows 7 and above (Release Notes).

STEP 2: Run the .exe file.

Some of the device gives the warning popup. You don’t have to worry, this software is harmless. Click on More info and then click on Run anyway.

STEP 3: Rest of the installation is straight forward, you can follow the popup and check on the option appropriate for your need.

 

Your software is now installed!

macOS Installer

STEP 1: Download the Pictoblox Installer (.dmg).

STEP 2: Run the .dmg file.

Mobile App Installer

STEP 1: Open Google Play Store on your Smartphone and and search for PictoBlox or visit the link here to head over to the Google Play Store. You can even scan the QR Code below from your Smartphone to head to the PictoBlox App.

STEP 2: Install the PictoBlox App.

Connecting Quarky with PictoBlox

Let’s begin by first connecting Quarky to PictoBlox. Select your preferred type of device i.e. either the desktop/laptop or your smartphone and follow the instructions.

Desktop

Follow the steps below for connecting Quarky to PictoBlox:

  1. First, connect Quarky to your laptop using a USB cable.
  2. Next, open PictoBlox on your desktop.
  3. After that, select Block as your coding environment.
  4. Then, click the Board button in the toolbar and select board as Quarky.
  5. Next, select the appropriate Serial port if the Quarky is connected via USB or the Bluetooth Port if you want to connect Quarky via Bluetooth and press Connect.
    COM Port
  6. Click on the Upload Firmware button. This will upload the latest firmware in Quarky.
    Note: If your device already has the latest firmware, then PictoBlox will show the message – Firmware is already updated. For learning more you can refer to this tutorial: https://ai.thestempedia.com/docs/quarky/quarky-toubleshooting/updating-quarky-firmaware-with-pictoblox/
  7. Once the firmware is uploaded, Quarky starts the Getting Started program. This runs only for the first time. Run through it.

And voila! Quarky is now connected to PictoBlox.

Mobile

Follow the steps below for connecting Quarky to PictoBlox:

  1. First, power ON Quarky.
  2. Open PictoBlox on your smartphone. Go to My Space and make a new project by clicking the ‘+(plus)’ button in the bottom-right corner.
    PictoBlox in Mobile Phone
  3. Then, tap the Board button in the top-right corner of the toolbar.
    PictoBlox BoardSelect board as Quarky.
  4. Next, tap the Connect button:
    PictoBlox ConnectSelect your device from the list.

And voila! Quarky is now connected to PictoBlox.

Quadruped Extension

The Quadruped extension in PictoBlox allows you to control the robot. It has blocks for specific applications. To add the Quadruped extension follow the instructions:

  1. Click on the Add Extension button and add the Quarky Quadruped extension.
  2. You can find the Quarky Quadruped blocks available in the project.

PictoBlox Blocks for Humanoid

The following blocks are available for the Humanoid:


Warning: Undefined array key "pp_wrapper_link" in /var/www/html/wp-content/plugins/powerpack-elements/extensions/wrapper-link.php on line 194

Warning: Undefined array key "pp_wrapper_link_enable" in /var/www/html/wp-content/plugins/powerpack-elements/extensions/wrapper-link.php on line 196

Warning: Undefined array key "pp_custom_cursor_icon" in /var/www/html/wp-content/plugins/powerpack-elements/extensions/custom-cursor.php on line 350

Warning: Undefined array key "pp_custom_cursor_text" in /var/www/html/wp-content/plugins/powerpack-elements/extensions/custom-cursor.php on line 351

Warning: Undefined array key "pp_custom_cursor_target" in /var/www/html/wp-content/plugins/powerpack-elements/extensions/custom-cursor.php on line 352

Warning: Undefined array key "pp_custom_cursor_css_selector" in /var/www/html/wp-content/plugins/powerpack-elements/extensions/custom-cursor.php on line 353

Warning: Undefined array key "pp_custom_cursor_enable" in /var/www/html/wp-content/plugins/powerpack-elements/extensions/custom-cursor.php on line 355
The block reports value 2 of the webhook event.
The block sets the selected servo motor angle to the specified angle in the specified time. This creates a smooth motion for the servo motor from the current angle to the specified angle.
The block sets the servo motors of humanoid legs & hips to the specified angles at the speed.
The block makes the selected motor to run at the specified speed.
The block makes a request to ChatGPT to translate the text specified in the first input field into the language specified in the second input field. The response of ChatGPT is then stored in PictoBlox and can be accessed using the get AI response block.
This block allows users to measure the amount of time that has passed since their device was turned on or since the timer was reset. It returns this time in milliseconds, making it a useful tool for measuring elapsed intervals.
This block allows the user to control a Brushless DC (BLDC) motor via Pulse Width Modulation (PWM) on a selected pin. The speed of the motor is adjustable, allowing the user to create the desired speed profile.
The block sets the cursor mode on a given LCD display. The mode specifies how the cursor will appear when characters are written or commands are executed. 
This block is used to move the robotic arm from its current position to a specific X, Y, and Z coordinate position over a specified period of time. This block breaks up the motion into smaller line segments for the robot to more accurately and efficiently reach the desired end position.
Set the IR threshold for onboard or external sensors connected to Quarky’s analog pin.
Starts the script whenever you press a specified key of the keyboard.
Rotate the sprite anti-clockwise a specified amount. Turn with 12 for a full rotation.
Returns the character to its default size.
Sets the color of the pen lines that can be drawn.
Displays a custom pattern from list on the quarky LED display.
Runs the blocks inside if the specified face expression is detected.
Changes the speed of the quarky robot. Speed can be set as slow, normal and fast.
After connection is established, turns the wizbot a specified number of step to the right.
Runs the blocks inside if a specified button is pressed of the wizbot.
The block is used to draw or fill a rectangle on the evive TFT display. It takes the coordinates of a point as input alongside the required width, height, and color and draws/fill the rectangle.
The block reads the state of the digital pin on evive (“High” or “Low”). If the state of the pin is “High”, it returns True, else False.
The block allows the user to remotely monitor the live status of devices and debug them by displaying the values of all the pins – both digital and analog.
This block moves the robotic arm’s end-effector to the specified X, Y, and Z positions in the specified time.
This block is to assign pre-defined hand actions to our Humanoid Robot.
The block sets its sprite’s X and Y position to that of the mouse-pointer or another sprite — in other words, it moves the sprite to a random position, the mouse-pointer, or another sprite.
The block changes the Stage’s backdrop to the specified one.
The block changes the volume of a sprite by the specified amount.
Depending on the argument, it is either a Cap block (all or this script), or a Stack block (other scripts in sprite). It is the only block that changes its shape.
The block sends a broadcast throughout the whole Scratch project — any scripts that are halted with the When I Receive () block and are set to the broadcast will activate. This broadcast block lets scripts send broadcasts, and have them wait until all scripts are activated by the broadcast ends.
All articles loaded
No more articles to load

Activity 1: Calibrating Humanoid Robot

In this activity, we are going to calibrate the humanoid robot. Due to some mechanical assembly errors, there may be some misalignment of the servos which can be handled with calibrate left hip () right hip () left foot () right foot () block and calibrate left hand () right hand () block.

Follow the steps:

  1. Open a new project in PictoBlox.
  2. Connect Quarky to PictoBlox.
  3. Click on the Add Extension button and add the Quarky Humanoid extension.
  4. Make the following code:

Run the code with Green Flag. Now you have to make sure that the robot has the following orientation:

If you find any twist of angle in the robot, edit the value of the servo motor in the calibrate left hip () right hip () left foot () right foot () block and calibrate left hand () right hand () block. If this step is not done properly, your robot may move in an incorrect manner.

Note: This has to be done only once as the offset values are stored in the memory of the robot.

Activity 2: Control Humanoid Predefined Motions

In this project, we will explain how to run predefined motions in PictoBlox for the Humanoid. The predefined motions allow users to make the robot move forward, backward, left, and right.

Follow the steps:

  1. Open a new project in PictoBlox.
  2. Connect Quarky to PictoBlox.
  3. Click on the Add Extension button and add the Quarky Humanoid extension.
  4. There are four predefined motions for Quarky in PictoBlox which can be accessed through do () motion () times at () speed Using the do () motion () times at () speed block, we can control the number of times the motion has to be executed. Motions: Forward, Backward, Left, and Right.
  5. Make the following code:
  6. Click on the green flag to run the motion sequence.
  7. Try running the robot at different speeds and try other actions.
Note:  If you feel that your robot is not running well, make sure to calibrate it.

Conclusion

In conclusion, Quarky‘s humanoid robot kit is an excellent resource to learn about robot mechanisms, their control, and AIbased applications. With PictoBlox, users can program the robot to perform a variety of motions and actions with ease, as well as create their own custom movements with special servo motors and servo oscillators. By following the steps outlined in this lesson, users can easily install PictoBlox and connect Quarky to the software, as well as calibrate the robot and program it to move in different directions.

Table of Contents