Robotics

Visual Studio

OpenGL

Recent Posts

Resolving  OpenCv runtime error - AttributeError: 'NoneType' object has no attribute 'copy'

Resolving OpenCv runtime error - AttributeError: 'NoneType' object has no attribute 'copy'

The problem could be because of passing invalid image or path or issue with the image file.
1. Wrong image path to the cv2.imread function
2. Problem reading a frame from webcam or video file using cv2.VideoCapture

To solve the issue one should check the file manually for any corruption. Verify the physical path of the file and provided path in the command line argument.

ABB - YUMI - FRIDA


Formerly known as FRIDA (Friendly Robot for Industrial Dual-Arm)

YUMI is a dual-arm robot with 14 axes of freedom (7 in each arm). The size of this industrial robot is similar to a small adult. This concept has been created in response to requests from ABB's customers who desired a robotic solution for manufacturing environments where robots and humans have to work together.

Originally built for the consumer electronics industry this collaborative robot has been designed to be as compact as possible. In fact, it takes the same workspace as a human. Compact, this robot is portable and can easily be carried around the production floor, as well as mounted onto different workstations. Its controller is integrated into its torso, making its installation and change of location even easier.

YUMI: KEY FEATURES
The size and the look of this robot really clash with the usual ABB robot. Instead of being massive and orange (meaning: hey I'm big and tough, so don't come too close), YuMi is small, compact, lightweight and its colors are different shades of gray.
  • Here are the key features of this collaborative robot:
  • Harmless robotic co-worker for industrial assembly.
  • Padded dual arms ensure safe productivity and flexibility.
  • Lightweight and easy to mount for fast deployment.
  • Agile motion based on industry-leading ABB robot technology.

TARGETED APPLICATIONS

YuMi is a collaborative, dual-arm small parts assembly robot that includes flexible hands, camera-based part location and advanced robot control. It can collaborate, side-by-side, with humans in a normal manufacturing environment enabling companies to get the best out of both humans and robots, together.
  • Small Part Assembly
  • 3C (Computer, Communications and Consumer electronics)
  • Consumer Products
  • Toy Industry
  • Watch Industry (they are Swiss after all)

SPECIFICATIONS
Payload 0.5 kg (1.1 lbs) per arm
Reach 559 mm (22.1 in)
Accuracy 0.02 mm (0.0008 in)
Weight 38 kg (83.8 lbs)

So from these specifications, you can tell that the robot is literally design around electronic assembly applications. The robot is very accurate and has a small payload. This means that it was designed to take small parts and place them in a precise location. Only the future can tell us the popularity of this robot since it has only been launched on April 2015.


Source: ROBOTIQ

Creating C++ WinForm Application using Visual Studio 2013 and later



Creating Windows Form Application from Visual Studio 2013

Step1:
File->New->Project
            Visual C++  --> CLR  --> CLR Empty Project
                        (type name of the project as required and click OK) eg: MyProject

Step2:
Project ? Add New Item
            Visual C++  --> UI --> Windows Form
                        (type name of the Form as required and click Add) eg: Form1.h
                        2 file will be created (Form1.h and Form1.cpp)

Step3:
Click on .cpp file and add the following source code

#include "Form1.h"

using namespace System;
using namespace System::Windows::Forms;

[STAThread]

void Main(array<String^>^ args)
{
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);

    MyProject::Form1 form;
    Application::Run(%form);
}

Step4:
right click on the project properties

Configuration Properties --> Linker --> System --> SubSystem 
            Select from drop down option for Windows (/SUBSYSTEM:WINDOWS)

Configuration Properties --> Linker --> Advanced -->   Entry Point
            type Main and click OK

Step5:
Run the application using F5

Using glui32.lib for latest Visual Studio (Fix for error LNK1104: cannot open file 'LIBCD.lib')

Using glui32.lib for latest Visual Studio (Fix for error LNK1104: cannot open file 'LIBCD.lib')

Solutions for fixing Visual Studio error while building with OpenGL lib
(error LNK1104: cannot open file 'LIBCD.lib')

While building Visual Studio Project with OpenGL library such as
glu32.lib
glui32.lib
glut32.lib
opengl32.lib

The glui32.lib library links the libcd.lib library, which is not supported on Visual Studio later to the version 6.0.

Method 1: Should Use glui32.lib library, which links to libcmtd.lib library instead libcd.lib.
Method 2: Rebuild GLUT library from Source (http://glui.sourceforge.net/)
Method 3: Workaround in Visual Studio project property setting

Solution for Method 3

  • Right click the Project and choose Properties.

  • Open Configuration Properties --> C/C++ --> Preprocessor.
    • In the Preprocessor Definitions entry, add GLUT_BUILDING_LIB.
    • In the Runtime Library entry, choose Multi-threaded (/MT) or Multi-threaded Debug (/MTd).

  • Open Configuration Properties --> Linker -->Input.
    • In the Additional Dependencies entry, add glu32.lib;glui32.lib;glut32.lib;opengl32.lib.
    • In the Ignore Specific Default Libraries entry, add libcd.lib.