0%

1. 1 Introduction

Kinematics is the branch of mechanics that studies the motion of a body, without considering it’s mass or forces.

A robot arm, a serial-link manipulator, a chain of rigid links and joints. Each joint has one degree of freedom. 2 types:

  • Translational—–prismatic joint
  • Rotational—–revolute joint

2. 2 Forward Kinematics

3. 3 Inverse Kinematics

4. 4 Trajectory

Requirement: move the end-effector smoothly from pose A to pose B.

Approach:

  • joint-space
  • Cartesian motion
Read more »

1. 1 Introduction

End-effector moves with a spatial velocity, and it’s a consequnece of all individual joint velocities.

Here, we introduce the relationship between joint velocities and end-effector‘s velocity

In kinematics, we care about the pose, now we care about velocity

2. 2 Manipulator Jacobian

2.1. 2.1 Overview

Jocabian:
$$
J = \frac { \partial f } { \partial x } = \left( \begin{array} { c c c } { \frac { \partial y _ { 1 } } { \partial x _ { 1 } } } & { \cdots } & { \frac { \partial y _ { 1 } } { \partial x _ { n } } } \ { \vdots } & { \ddots } & { \vdots } \ { \frac { \partial y _ { m } } { \partial x _ { 1 } } } & { \cdots } & { \frac { \partial y _ { m } } { \partial x _ { n } } } \end{array} \right)
$$
In manipulator, $f$ (end-effector pose) and $x$ (joint variables) are all vector:
$$
\frac { \mathrm { d } p } { \mathrm { d } q } = \mathrm { J } ( q ) \to \mathrm { d } \boldsymbol { p } = \boldsymbol { J } ( \boldsymbol { q } ) \mathrm { d } \boldsymbol { q }
$$
and divide through by $dt$
$$
\begin{aligned} \frac { \mathrm { d } p } { \mathrm { d } t } & = J ( q ) \frac { \mathrm { d } q } { \mathrm { d } t } \to \dot { p } = J ( q ) \dot { q } \end{aligned}
$$
Jocabian is a $J \in R^{6\times N} $ ($6$ for enviroment, $N$ for n joints) matrix

2.2. 2.2 Under- and Over-Actuated Manipulators

  • Under-Actuated: accepting that some Cartesian degrees of freedom are not controllable
  • Over-Actuated: multiple solution, so find a least-squares solution

3. 3 Jocabian: Numerical Properties

Read more »

1. 1 Introduction

1.1. 1.1 Queues

A queue is an ordered collection of items where the addition of new items happens at one end, called the “rear,” and the removal of existing items occurs at the other end, commonly called the “front.”

  • Example: wait in a line for a movie/ OS use queues control processes

  • Usage: keep in order

queues

1.2. 1.2 ADT

Queue Operation Queue Contents Return Value
q.is_empty() [] True
q.enqueue(4) [4]
q.enqueue(‘dog’) [‘dog’, 4]
q.enqueue(True) [True, ‘dog’, 4]
q.size() [True, ‘dog’, 4] 3
q.is_empty() [True, ‘dog’, 4] False
q.enqueue(8.4) [8.4, True, ‘dog’, 4]
q.dequeue() [8.4, True, ‘dog’] 4
q.dequeue() [8.4, True] ‘dog’
q.size() [8.4, True] 2

2. 2 A Queue Implementation

In practice, use the standard library’s collections.deque to achieve high performance( $O(1)$) enqueues and dequeues.

3. 3 Example: Simulating Hot Potato

Read more »

1. 1 Introduction

Mere position control is not suffice is contact is made between end-effector and environment.

So introduce hybrid position/force controller to solve the problem. This method is one formalism through which industrial robots might someday be controlled in order to perform tasks requiring force control.

2. 2 Application of Robots to Assembly Tasks

  • Spot welding

  • Spray painting

  • Pick and place operations

  • Future: assembly-line tasks, force is extremely important.

Currently, the dexterity of manipulators remains quite low and limit their appplication in the automated assembly area.

If we can measure and control contact forces generated at the hand, we can imporove the performance without using bigger, heavier, and more expensive manipulator.

3. Basic Idea

Every manipulation task can be broken down into subtasks that are defined by a particular contact situation occurring between the manipulator end-effector (or tool) and the work environment.

With each subtask, we can associate a set of constrains

Read more »

1. 1 Introduction

In linear control, we modeled the manipulator by $n$ independent second-order differential equations.

In this chapter, we will base our controller design on the $n \times 1$ vector differential equation

2. 2 Nonlinear

  1. local linearization

When nonlinearities are not severe, local linearization can be used in the neighborhood of an operating point.

But, manipulator move among regions so widely separated that no linearization valid for all regions can be found.

  1. moving linearization

move the operating point with the manipulator as it
moves, always linearizing about the desired position of the manipulator

  1. deal with the nonlinear directly
Read more »

1. Abstract

深度神经网络有很多参数因而威力巨大。但是过大的神经网络使得过拟合成为了一个非常严重的问题。Dropout是解决这个问题的一个方法。其主要思想是在训练过程中随机舍弃一些单元,而验证这种方法效果的方式也很简单:通过和不经过Dropout,而大小与经过Dropout的模型相近的神经网络模型进行对比。通过实验,这种方法能够很好地防止过拟合,并且和目前的一些正则化方法相比有了明显的提升。

2. Introduction

深度神经网络包含了许多非线性隐藏层,这使得深度神经网络变得有很强的表达性,也就是说其可以学习输入和输出之间的复杂的关系。

但是当训练数据有限的时候,可能部分关系是从采样噪声学到的,这些关系在训练集中存在但在实际的测试数据中不存在。这就导致了过拟合。

减少过拟合的方法包括,验证集上的性能开始下降时尽快停止训练,为权重引入L1/L2正则惩罚项。

如果计算量上不受限制,按照bayesian的黄金准则,regularize 一个固定规模的模型的最好的方式是,在参数的所有可能的取值上做预测,再根据每种取值的后验概率对这些预测加权取平均。实际中希望用更少的计算量近似到达bayesian的性能。

本文提出dropout,学习指数个共享参数的模型,做预测,求几何平均。近似地有效地组合了指数多个神经网络体系结构。

Dropout做法,暂时地随机地移除网络中的单元(及其输入和输出连接)。比如,每个单元都以固定的概率$p$(比如=0.5)保留。(但是输入单元的保留概率应该接近1),相当于从原网络中采样一个thinned稀疏的网络。 原网络有$n$个单元,则有$2^n$种可能(每个节点有移除/保留2种可能,各节点独立)的稀疏网络。

dropout_compare

Read more »

1. 1 Introduction

Premise: Know the means to calculate joint-position correspond to desired end-effector motions.

Problem: How to cause the manipulator acually to perform these desired motions.

Solution 1: Linear control system.

  • In fact, non-linear is more usual, linear control is just a approximate methods
  • It’s resonable to make such approximation, so lineat control methods are the ones most often used in industrial practice.
  • Learn linear first is good for later study

2. 2 Control-Law Partitioning

Partitioning Method (2 parts):

  • model-based portion: make use of supposed knowledge of m,b,k, to make the system appear as a unit mass$\to$ servo portion simple.
  • servo portion: make use of feedback to modify the behavior of the system

A open-loop equation of motion for the system:
$$
m \ddot { x } + b \dot { x } + k x = f
$$
The model-based portion of the control:
$$
f = \alpha f ^ { \prime } + \beta
$$
and we choose(because we want to make the )
$$
\begin{array} { l } { \alpha = m } \ { \beta = b \dot { x } + k x } \end{array}
$$
finally we get $\ddot { x } = f ^ { \prime }$

Graphiclly,we transform a system like this

Read more »

1. 1 Introduction

STM32 have one of the most advanced ADCs on microcontroller market.

This note provide users to understand some modes offered in STM32

2. 2 Independent Mode

  • Single Channel, single conversion

Example: Check if the battery voltage is succulent or not

single-conversion

  • Multichannel, single conversion

Example: Can be used when starting system depends on some parameters

  • Single Channel, continuous conversion
Read more »

1. 1 Introduction

trajectory refers to a time history of position, velocity, and acceleration for each degree of freedom.

Concern:

  • Easy description:just desired goal position and orientation
  • How to generating and representing in computer

2. 2 General consideration

  • Huamn-interface. Consider tool frame ${T}$ , in which a user would think and design path.
  • Path include many intermediate points (position and orientation)
  • Want a smooth path, first derivative even second derivative. jerky motions tend to cause increased wear on the mechanism andcause vibrations by exciting resonances in the manipulator

3. 3 Joint-Space Schemes

First get the via points and then convert it to a set of joint angle by inverse kinematics

Joint space schemes is the easiest to compute.

3.1. 3.1 Cubic Polynomials

Read more »

1. 1. Big Picture

  • What makes a program better?many valid criteria, which are often in conflict.
  • omputer scientists love
  • Time
  • Memory
  • trade off
  • sum of 1-n:
  • simple add
  • gauss formula

2. 2. Big O Notation

f(n) Name
1 Constant
$log n$ Logarithmic
$n$ Linear
$nlogn$ Log Linear
$n^2$ Quadratic
$n^3$ Cubic
$2^n$ Exponential

3. 3. Example :Anagram Detection

  1. Checking off: check one by one ,$O(n^2)$.
  2. Sort and Compare: $O(nlogn)$
  3. Brute Force , try all possibilities: $O(n!)$
  4. Count and Compare: $O(n)$

4. 4. Performance of Python Types

  • Lists
  • Indexing & Assigning & Appending $O(1)$
  • Poping, Shifting & Deleting, normally $O(n)$ ,beacuse has to shift changed element
  • Reversing $O(n)$
  • Dictionaries
  • “getting” and “setting” : $O(1)$
  • Iterating & Copying: $O(n)$
Read more »