Você está na página 1de 66

ROBÓTICA

1. Início da transcrição. Pule para o final.

2. Oi, meu nome é CJ Taylor.

3. Eu faço parte do corpo docente aqui na Pen Engineering e

4. um membro do Laboratório Grasp.

5. Eu tenho trabalhado em visão computacional e robótica há mais de


20 anos.

6. E durante esse tempo,

7. Eu tive a oportunidade de trabalhar em projetos que envolvem


carros autônomos,

8. veículos voadores autônomos, robôs humanóides e robôs de auto-


montagem.

9. Eu me diverti muito fazendo isso e

10. Estou realmente ansioso para compartilhar alguns desses insights


com você neste curso.

11. E agora gostaria de apresentar meu co-professor professor Mark


Yim.

12. >> Olá meu nome é Mark Yim,

13. Sou docente da Penn Engineering e membro do Grasp Lab.

14. Eu sou professora há cerca de 12 anos

15. Antes disso eu estava fazendo pesquisa industrial e trabalhando


em uma startup.

16. Minha especialidade, o material que meu grupo faz é trabalhar em


novos dispositivos,

17. construindo e controlando essas coisas.

18. Então aqui está uma junta prismática que pode ser usada em um
braço manipulador.

19. Também construímos módulos ou parte de um robô de módulo.


20. Então, esses são sistemas de robôs que podem se unir ou se
separar.

21. Também construímos veículos voadores muito pequenos, como


este.

22. E agora gostaria de apresentá-lo aos nossos TAs.

23. >> Ei pessoal, eu sou Anvith e sou um estudante de robótica aqui


na Penn.

24. Antes de vir para a Penn, eu era engenheiro de software e

25. não teve muita exposição ao campo da robótica.

26. O curso de Fundamentos de Robótica realmente me ajudou a


mergulhar no campo e

27. despertou meu interesse pela robótica.

28. Eu espero que vocês gostem tanto quanto eu quando eu peguei, e

29. Espero poder orientá-lo sempre que necessário.

30. >> Olá pessoal, eu sou Qiaoyu e um dos TAs neste curso de
Fundamentos de Robótica.

31. Atualmente sou estudante de mestrado em robótica aqui na Penn e

32. Estou trabalhando como assistente de pesquisa no Dr CJ Taylor, no


projeto drone.

33. Tenho certeza que a maioria de vocês já viu todos os tipos de


robôs,

34. como drones, braços robóticos e humanóides.

35. Este curso ajudará você a entender a matemática por trás desses
robôs e

36. aprenda como controlá-los e programá-los.

37. Espero que você aproveite este curso.

38. >> Olá a todos, eu sou Hungtang Ko.

39. Eu sou de Taiwan e


40. atualmente sou um mestrado do segundo ano aqui na Penn In
Mechanical Engineering.

41. Já fiz muitos cursos de robótica antes

42. muitos deles são exatamente como este que você está tomando
agora.

43. E aprender robótica tem sido uma jornada muito divertida para

44. Eu e eu acreditamos que será o mesmo para vocês também.

45. >> Estamos muito entusiasmados em trazer-lhe este primeiro curso


na nossa micro robótica

46. mestres.

47. Vamos começar.

48. Fim da transcrição. Pule para o começo

Caros alunos,

Estamos entusiasmados em apresentá-lo à robótica, um campo


que nos motivou e inspirou durante nossas longas carreiras na
indústria e na academia. Como membros do Laboratório GRASP
(General Robótica, Automação, Sensoriamento e Percepção) da
Universidade da Pensilvânia, tivemos o privilégio de ensinar os
alunos como você a aplicar conceitos robóticos amundo
realaplicações. Gostamos muito de compartilhar nossa pesquisa
e esperamos explorar esse novo meio de aprendizado on-line
para vivenciar esse curso com você.

Alguns detalhes muito importantes:

Fórum de discussão - Por favor, use o fórum de discussão para


se apresentar para a classe. O fórum será um recurso valioso
para você em todo o seu curso, pois você poderá usá-lo para
discutir pensamentos, perguntas e ideias com seus colegas
aprendizes, mentores e TAs.

Verificação - Este curso não tem prazos de atribuição. No


entanto, não queremos que você perca a oportunidade de obter
um certificado verificado e continuar em seu caminho para os
MicroMasters da Robotics. Você deve ser registrado como um
aluno verificado antes do exame intermediário supervisionado
para obter um certificado. Lembramos gentilmente, na semana
5, que a verificação é necessária para as avaliações
supervisionadas e a falta do prazo de verificação tornará você
inelegível para um certificado. Registre-se para um certificado
verificado aqui .

Novo no edX : se este for seu primeiro curso edX,


recomendamos que você se inscreva no curso DemoX , que
fornece uma introdução à plataforma de aprendizado do edX.

Obtendo ajuda - Se você tiver alguma dúvida sobre o conteúdo


do curso, pesquise no fórum de discussão para ver se a
resposta já foi publicada. Se você tiver um problema com o
próprio edX, navegue até a Central de Ajuda do edX clicando no
link "Ajuda" no canto superior direito da tela.

Estamos aqui para ajudá-lo a embarcar em sua jornada no


campo da robótica. Pedimos que você se torne um frequentador
de fóruns de discussão postando comentários e revisando os
comentários de outras pessoas com frequência! Por meio do
fórum de discussão, forneceremos muitos comentários e
suporte (incluindo o suporte do MATLAB da MathWorks). É
também uma maneira maravilhosa de se conectar com outros
alunos e compartilhar seus conhecimentos. No entanto, nunca
publique seu código ou respostas para partes do curso no fórum
de discussão.Vamos deletar o post !!!

Vamos começar!

-Dr. Taylor, Dr. Yime a equipe Robo1x

Caros alunos,

Estamos entusiasmados em apresentá-lo à robótica, um campo


que nos motivou e inspirou durante nossas longas carreiras na
indústria e na academia. Como membros do Laboratório GRASP
(General Robótica, Automação, Sensoriamento e Percepção) da
Universidade da Pensilvânia, tivemos o privilégio de ensinar os
alunos como você a aplicar conceitos robóticos amundo
realaplicações. Gostamos muito de compartilhar nossa pesquisa
e esperamos explorar esse novo meio de aprendizado on-line
para vivenciar esse curso com você.

Alguns detalhes muito importantes:

Fórum de discussão - Por favor, use o fórum de discussão para


se apresentar para a classe. O fórum será um recurso valioso
para você em todo o seu curso, pois você poderá usá-lo para
discutir pensamentos, perguntas e ideias com seus colegas
aprendizes, mentores e TAs.

Verificação - Este curso não tem prazos de atribuição. No


entanto, não queremos que você perca a oportunidade de obter
um certificado verificado e continuar em seu caminho para os
MicroMasters da Robotics. Você deve ser registrado como um
aluno verificado antes do exame intermediário supervisionado
para obter um certificado. Lembramos gentilmente, na semana
5, que a verificação é necessária para as avaliações
supervisionadas e a falta do prazo de verificação tornará você
inelegível para um certificado. Registre-se para um certificado
verificado aqui .

Novo no edX : se este for seu primeiro curso edX,


recomendamos que você se inscreva no curso DemoX , que
fornece uma introdução à plataforma de aprendizado do edX.

Obtendo ajuda - Se você tiver alguma dúvida sobre o conteúdo


do curso, pesquise no fórum de discussão para ver se a
resposta já foi publicada. Se você tiver um problema com o
próprio edX, navegue até a Central de Ajuda do edX clicando no
link "Ajuda" no canto superior direito da tela.

Estamos aqui para ajudá-lo a embarcar em sua jornada no


campo da robótica. Pedimos que você se torne um frequentador
de fóruns de discussão postando comentários e revisando os
comentários de outras pessoas com frequência! Por meio do
fórum de discussão, forneceremos muitos comentários e
suporte (incluindo o suporte do MATLAB da MathWorks). É
também uma maneira maravilhosa de se conectar com outros
alunos e compartilhar seus conhecimentos. No entanto, nunca
publique seu código ou respostas para partes do curso no fórum
de discussão.Vamos deletar o post !!!
Vamos começar!

-Dr. Taylor, Dr. Yime a equipe Robo1x

Visão geral do curso:


Neste curso, que faz parte do Robotics MicroMasters Program,
você aprenderá como aplicar conceitos de álgebra linear,
geometria e teoria de grupo e as ferramentas para configurar e
controlar manipuladores de movimento e robôs móveis. Você
também aprenderá a usar o MATLAB, o ambiente de
programação robótica padrão, e aprenderá passo a passo como
usar essa ferramenta matemática para escrever funções,
calcular vetores e produzir visualizações. Você terá experiência
prática aplicando seus conhecimentos em projetos usando
várias simulações no MATLAB.

Pré-requisitos:

 Álgebra e trigonometria de nível universitário

 Fundamentos do cálculo

 Conhecimentos básicos de programação de


computadores (variáveis, funções, fluxo de controle, algum
conhecimento de gráficos)

Esboço de Curso:

 Semana 1 - Princípios Básicos do Vetor: Uma rápida


execução dos fundamentos vetoriais, incluindo operações vetoriais,
produtos internos, normas, ortogonalidade, etc.

 Semana 2 - Transformações Lineares, Operações


Matrizes: Uma visão geral das transformações lineares e suas
composições e operações matriciais.

 Semana 3 - Transformações Rígidas, Quatérnios,


Grupos Matrizes: Coordenadas Transformações explicadas com
exemplos, transformações rígidas, grupos de matrizes e
propriedades de grupos.

 Semana 4 - Projeto nº 1: familiarize-se com a


alternância entre as diferentes representações de rotações, como
quaterniões, matrizes de rotação e ângulo do eixo. Implemente o
SLERP usando quaternions.

 Semana 5 - Cadeia cinemática, cinemática


avançada: Aprenda sobre as cadeias cinemáticas e os graus de
liberdade de uma corrente, e também entenda como a posição de
qualquer ponto ao longo de um braço robótico pode ser
determinada, considerando os ângulos articulares do robô, usando
geometria e Parâmetros de Hartenberg.

 Semana 6 - Cinemática Inversa: Esta seção aborda


como os parâmetros das juntas são determinados, com base na
posição final do efetor e orientação de um braço robótico. Isso inclui
desacoplamento cinemático, punhos esféricos, ângulos de euler,
etc.

 Semana 7 - Jacobianos e Manipulabilidade: Esta


seção elabora como os jacobianos podem ser usados para estimar a
velocidade linear efetoras ou a velocidade angular com base na
taxa de mudança dos parâmetros articulares. A seção também
aborda singularidades, manipulabilidade e jacobianos aplicados a
robôs móveis.

 Semana 8 - Projeto # 2: Resolva a cinemática


direta e inversa de um robô PUMA e crie sua própria pintura de luz
no Matlab usando um simulador do braço robótico PUMA.

 Semana 9 - Método de Planejamento Baseado em


Gráficos: Apresente o problema de planejar rotas através de
grades. Apresentamos alguns algoritmos que podem ser usados
para planejar caminhos entre um nó inicial e um nó de meta,
incluindo o primeiro algoritmo de pesquisa ou de fluxo de terra, o
algoritmo de Dijkstra e o procedimento A Star.

 Semana 10 - Espaço de Configuração: Introduzir o


conceito de espaço de configuração. Em seguida, discutimos a
noção de obstáculos no espaço de configuração. Também
descrevemos algumas abordagens que podem ser usadas para
diferenciar o espaço de configuração contínua em gráficos, de modo
que possamos aplicar ferramentas baseadas em gráficos para
resolver nossos problemas de planejamento de movimento.

 Semana 11 - Campo de Potencial Artificial e


Métodos de Amostragem: Outra abordagem para o planejamento de
movimento envolve a construção de campos potenciais
artificiais. Também apresentaremos o conceito de técnicas de
planejamento de caminhos baseados em amostras. Vamos falar
sobre Mapas de Estrada Probabilísticos e Exploração Aleatória de
Árvores Rápidas (RRTs) e sua aplicação em problemas de
planejamento de movimento.

 Semana 12 - Projeto # 3: Implemente o RRT em


um robô planar de 6 links

Aprendiz verificado - ganhando um certificado


Para ganhar um certificado verificado para este curso, você
precisa estar inscrito como parte da faixa verificada, concluir a
verificação de identidade e obter uma nota de aprovação. Se
você estiver auditando o curso, você não receberá um
certificado. Você deve estar registrado como um aluno
verificado antes do exame intermediário supervisionado para
obter um certificado. Observe que a verificação é necessária para
as avaliações supervisionadas e a falta do prazo de verificação
tornará você inelegível para um certificado. Registre-se para o
certificado verificado aqui .

Classificação
Este curso é somente aprovado / reprovado. Você não receberá
uma nota em seu certificado.

Nota de aprovação : Você deve marcar 60% ou mais para passar


no curso.

Mostrando respostas: Após concluir uma pergunta do questionário ou


usar todas as tentativas, a opção para mostrar a resposta será
exibida.Esta opção não está disponível para trabalhos de casa,
laboratórios, projetos ou testes.

Pesos de avaliações graduais:

Questionários (10%): Haverá 18 questionários totais e as suas 2


pontuações mais baixas serão eliminadas.

Lição de casa (5%) : Haverá 2 trabalhos de casa e ambos


contarão.
Laboratórios (15%) : Haverá 7 trabalhos de laboratório e todos
contarão.

Projetos (25%) : Serão 3 projetos e todos contarão.

Meio período (20%) : Há um curso intermediário no curso após a


semana 5. Você deve estar inscrito na pista verificada para fazer
o teste intermediário!

Final (25%): Há um exame final no curso após a semana 12.


Você deve estar inscrito na pista verificada para fazer o exame
final!

Esforço
Esperamos que este curso leve 8 a 10 horas por semana para
ser concluído.

Comunicação
Fórum de discussão: Estaremos nos comunicando com você
através do fórum de discussão diariamente. Por favor, entre em
contato conosco através do fórum de discussão com qualquer
dúvida sobre o conteúdo do curso. Por favor, aguarde 24 horas
para receber uma resposta de um TA ou um instrutor. Além
disso, toda a comunicação no fórum de discussão deve seguir
o Código de Honra edX . Nuncacódigo postal ou soluções para
atribuições no fórum de discussão.

E-mails Semanais: Enviaremos atualizações do curso e


informações interessantes sobre o campo da robótica
semanalmente.

Sessões de bate-papo ao vivo: se você fizer parte da trilha


verificada, ofereceremos sessões de bate-papo ao vivo nas
quais os alunos podem falar diretamente com os instrutores e
com os TAs. Detalhes serão enviados nos e-mails semanais.

Código de Conduta do Estudante


Favoritar esta página

Integridade acadêmica
Definições de Desonestidade Acadêmica:
Atividades que têm o efeito ou a intenção de interferir com a
educação,perseguiçãoconhecimento ou avaliação justa do
desempenho de um aluno são proibidos. Exemplos de tais
atividades incluem, mas não estão limitados às seguintes
definições:

 Trapaça: Usar ou tentar usar assistência não autorizada, material ou


auxiliares de estudo em exames ou outro trabalho acadêmico.

 Plágio: Usar as idéias, dados ou linguagem de outro sem


reconhecimento específico ou apropriado. Exemplo: usar o trabalho de outra
pessoa e usá-la para enviar uma tarefa / projeto / trabalho de laboratório,
clonar as ideias de outra pessoa sem atribuição, etc.

 Vantagem injusta: tentar ganhar vantagem não autorizada sobre os


colegas em um exercício acadêmico. Exemplo: obtenção ou acesso não
autorizado a materiais de exames, etc.

Promessa de Código de Honra edX


Ao se inscrever neste curso edX, eu concordo que vou:

 Conclua todos os testes e tarefas sozinho, a menos que a


colaboração em uma tarefa seja explicitamente permitida.

 Manter apenas uma conta de usuário e não deixar ninguém usar


meu nome de usuário e / ou senha.

 Não se envolva em qualquer atividade que melhore


desonestamente meus resultados, ou melhore ou prejudique os
resultados de outras pessoas.

 Não publique respostas para problemas que estão sendo usados


para avaliar o desempenho do aluno.

Por favor, leia os Termos de Serviço edX ("TOS") e a Política de


Privacidade edX e o Código de Honra antes de acessar o
conteúdo do curso.Estes TOS, a privacidadePolíticae o Código
de Honra são acordos (os "Contratos") entre você e edX. Ao
utilizar o Site, você aceita e concorda em estar legalmente
vinculado pelos Contratos, seja ou não usuário registrado.

1. Bem vinda!
2. Neste curso, temos a oportunidade de usar o MATLAB para
encontrar soluções para problemas que

3. são muito complexos, ou consomem muito tempo para serem


resolvidos manualmente.

4. O MATLAB também nos ajuda a explorar e visualizar idéias que


levam a um melhor entendimento

5. de sistemas complicados.

6. Então, o que é o MATLAB?

7. Bem, nos anos 60 e 70, resolver problemas com computadores


exigia escrever muitos códigos.

8. O professor Cleve Moler queria que seus alunos se concentrassem


em resolver problemas de matemática e engenharia,

9. então ele criou o MATLAB, usando a sintaxe que espelha a notação


científica e de engenharia comum.

10. Hoje, os alunos usam o MATLAB em muitas disciplinas, como


Robótica, Aprendizado de Máquina, Imagem

11. Processamento e Biologia, só para citar alguns.

12. Mas o MATLAB não é usado apenas por estudantes, engenheiros e


cientistas estão usando o MATLAB para

13. Desenvolva sistemas de condução automatizados, tornando nossas


estradas mais seguras.

14. Crie novos dispositivos médicos para melhorar o atendimento de


milhões de pessoas.

15. Mude a maneira como vivemos a robótica.

16. E explore os mistérios do sistema solar.

17. Então vamos começar!

18. Ao usar o MATLAB, você ganhará habilidades valiosas de trabalho


e, se ficar preso, não se preocupe.

19. Confira os tutoriais do MATLAB e logo você estará falando do


MATLAB.
20. Fim da transcrição. Pule para o começo.

21. Usaremos o MATLAB durante todo o curso para


realizar cálculos para mover robôs pelo ambiente
deles. Como resultado do suporte da MathWorks, uma
licença para download gratuito para o MATLAB está
disponível para a duração do curso. Além disso, usaremos
uma janela de código do MATLAB incorporada diretamente
na plataforma edX para classificar algumas atribuições de
codificação.
22. Se você é novo no MATLAB, recomendamos ir
ao MATLAB Academy e trabalhar no tutorial interativo
gratuito, MATLAB Onramp. O Onramp abrange a sintaxe do
MATLAB e as construções básicas de
programação. Demora cerca de 2 horas para ser concluído.
23. Acesse sua licença gratuita para o MATLAB aqui . Se
você tiver dificuldades em instalar o MATLAB, poste uma
pergunta no fórum de instalação do MATLAB. Este é um
curso individualizado e a licença do MATLAB será
atualizada periodicamente. Se você não concluiu o curso,
mas sua licença expirou, volte a esta página para atualizar
a licença.
24. Você pode encontrar os requisitos do sistema para o
MATLAB no site do MathWorks .
25. Se você tiver um problema ao instalar o Matlab,
adicione uma postagem ao fórum de discussão. Para
começar, clique no botão Mostrar discussão abaixo.

Usaremos o MATLAB em dois ambientes diferentes em todo o


MicroMasters: o desktop MATLAB instalado em seu computador
e um editor MATLAB incorporado ao edX. Você pode praticar
usando o problema MATLAB incorporado abaixo. Aqui estão
algumas dicas para decidir como trabalhar.

MATLAB Desktop . A área de trabalho é a interface MATLAB


completa e interativa. Você verá que trabalhar nesse ambiente é
adequado quando:

 Alterar parâmetros rapidamente e fazer atualizações


frequentes ao testar o código

 Explorando variáveis, figuras e criando animações


 Depuração

 Trabalhando com vários arquivos de código ao mesmo


tempo

MATLAB em edX . As janelas de código do MATLAB


incorporadas são como avaliaremos os problemas de
codificação. Todos os comandos que você executa na área de
trabalho funcionam da mesma maneira na janela
incorporada. No entanto, apenas figuras estáticas são
retornadas e não há animações. Algumas coisas para ter em
mente:

 Você tem envios ilimitados.

 Para problemas mais longos, você pode achar mais fácil


trabalhar na área de trabalho primeiro e copiar sua solução para
o ambiente online.

 A maioria dos problemas fornecerá um modelo. Certifique-


se de identificar a seção do código que você deve
editar. Alterações no modelo podem resultar em sua solução
marcada como incorreta. Você pode redefinir o código, se
necessário.

 O tempo limite para o código online é de aproximadamente


20 segundos.

 Importante! Se estiver mantendo soluções em seu


computador pessoal (recomendado), certifique-se de ter
copiado as soluções finais de volta para o ambiente de área de
trabalho.

Anotar
LINK PARA DOCUMENTAÇÃO MATLAB: https://la.mathworks.com/help/

Exercicio:

Crie uma variável linearmente espaçada e um polinômio

Este é um problema prático usando um script MATLAB. Pressionar o botão "Executar"


executará o código sem testar se está correto ou não. Use o botão Executar para testar sua
solução, veja se a saída é a esperada e certifique-se de que seu código esteja livre de erros de
sintaxe ou de tempo de execução.
Quando estiver satisfeito com os resultados. Pressione o botão "Enviar para avaliação" para ver
como você fez! A saída do seu código é colocada abaixo dos resultados da avaliação.

- Crie um vetor de linha x que comece em -2 e termine em +2 com um tamanho de passo de


0,5.

- Use x para criar um vetor y usando a seguinte equação: y = 3x² + 2x-6

Você precisará saber como usar o operador de cólon e as operações elementares para
completar esse problema. Se você não estiver familiarizado com esses termos, confira o
MATLAB Onramp na página anterior, pois esses conceitos serão usados com frequência no
curso.

Calcular a área de um círculo

Neste problema, vamos praticar a função de escrita no ambiente online. Como as funções
geralmente exigem variáveis de entrada, não podemos simplesmente executá-las como scripts.
Para testar nossas funções, usaremos a caixa "Como chamar a função". Podemos inserir
qualquer código nesta área para testar sua função. Na maioria dos casos, o código já será
fornecido para testar a função. Quando pressionamos o botão "Executar", o código na caixa
"Como chamar a função" é executado e nenhuma classificação é feita. Pressione "Submit for
Assessment" para ver se sua função está correta!

Tarefa: Grave uma função chamada areaCircle para calcular a existência de um círculo.

1-A função deve ter uma entrada que é o raio do círculo.


2-A função deve funcionar se a entrada for um escalar, vetor ou matriz.

3-A função deve retornar, uma saída, o mesmo tamanho da entrada, que contém a área de um
círculo para cada elemento correspoding.

4-Se um raio negativo passou como entrada, a função deve retornar o valor -1 para indicar o
erro.

Tutoriais metalab:

Abaixo estão os tutoriais sobre tópicos não abordados


no MATLAB Onramp . Se você é novo no MATLAB,
recomendamos começar com o MATLAB Onramp antes de
começar o curso ou visualizar os tutoriais abaixo.

1. Arquivos de código e exemplos são fornecidos durante o


curso. Adicionar arquivos ao caminho de pesquisa mostra como
acessar arquivos na sua área de trabalho.

2. Nós estaremos escrevendo e usando funções. Veja Writing


Functions para aprender a sintaxe do MATLAB para definições
de funções e como salvar seus arquivos.

3. É raro que o código funcione na primeira tentativa! Assista


ao código de solução de problemas com o depurador para ver
como percorrer seu código uma linha de cada vez para procurar
erros.
4. Além de computações numéricas, faremos usando alguma
funcionalidade simbólica. Cálculos Simbólicos mostra os
fundamentos do trabalho com variáveis simbólicas no MATLAB.

5. Início da transcrição. Pule para o final.

6. Oi, este tutorial foi criado para apresentar aos alunos o laboratório
de matemática online e

7. é usado na resolução de tarefas de programação para este curso.

8. O objetivo desta tarefa é ajudar na visualização dos principais


conceitos que começam

9. este curso.

10. Vamos começar.

11. A primeira janela que observamos é a descrição do


problema,

12. onde detalhes sobre as atribuições e seus requisitos são


mencionados.

13. Esta seção geralmente contém links para baixar arquivos


para sua área de trabalho MathLab.

14. Recomendamos usar a versão para desktop com frequência


ao criar suas soluções.

15. como ajuda a inspecionar suas variáveis e depurar seu


código.

16. Para problemas de função, existem duas caixas de código.

17.A primeira caixa de código é onde você implementa as funções


para a atribuição e

18. Muitas vezes, ele contém algum código para você começar.

19. A segunda caixa é para testes, esta caixa consistirá em


algum código para testar

20. função, mas pode ser modificado para testar diferentes


cenários.

21. O botão Run Function, executa o código e


22. o código para chamar sua caixa de função e exibe qualquer
saída lá.

23. O botão Submit, testa sua função e retorna seu resultado.

24. Vamos ver como isso funciona.

25. Neste exemplo,

26. vamos criar uma matriz de rotação sobre o eixo z para um


determinado ângulo e

27. gradiente, que é dado pela equação na descrição do


problema.

28. Então, nossa tarefa é criar uma matriz de acordo com a


fórmula mostrada.

29. Agora que acho que minha função está pronta

30. vamos usar o botão de função run para testar se minha


função funciona como esperado.

31. Sempre teste a função antes de pressionar Enviar para


garantir que não haja

32. quaisquer erros sintáticos.

33. Ótimo, nossa função é executada e vemos o vetor girado.

34. Lembre-se que podemos modificar este código para testar a


função várias vezes.

35. Agora que achamos que nossa função está correta, vamos
pressionar Enviar.

36. Opa, parece que cometemos um erro.

37. Observe os dois níveis de feedback.

38. O feedback em vermelho é diretamente do código de


classificação.

39. O feedback em preto é o conjunto adicional de dicas

40. fornecida em relação a possíveis erros.

41. Então, neste caso, eu tenho o erro por causa do sinal


negativo.
42. Então deixe-me ir em frente e atualizar o código e tente
novamente.

43. Ótimo, agora temos todos os cheques verdes

44. implicando que nós passamos com sucesso o problema.

45. Não se preocupe se você ficar preso.

46. O código raramente funciona na primeira vez e

47. problemas neste curso são bastante desafiadores.

48. Então pat vocês mesmos na parte de trás quando você os


acertar.

49. Quando você deseja obter ajuda nos fóruns, inclua três itens
nas suas postagens.

50. As descrições de avaliação que falharam ou que você tem


dúvidas.

51. A mensagem de erro vermelha retornada, pois isso pode


variar do tipo de erro.

52. Descrição da sua abordagem ou pseudocódigo delineando


sua abordagem.

53. Por favor, não poste seu código real nos fóruns, mesmo que
não esteja funcionando.

54. Obrigado.

55. Fim da transcrição. Pule para o começo.

Outro: Adicionando arquivos ao caminho de


pesquisa
1. Início da transcrição. Pule para o final.

2. Conforme escrevemos código ou usamos arquivos fornecidos por


outras pessoas,

3. nós queremos organizá-los em pastas separadas.

4. Mas o que acontece quando tentamos usar esses arquivos?


5. Por exemplo,

6. vamos salvar este script na nossa pasta "MyProject".

7. Vamos tentar chamar nosso script a partir do prompt de comando.

8. Hmmm ...

9. Uma mensagem de erro?

10. Quando chamamos uma função ou script, o MATLAB procura


primeiro por esse arquivo na pasta atual,

11. antes de verificar uma lista ordenada de pastas denominada


Caminho de pesquisa do MATLAB.

12. Observe no Navegador de pasta atual que o nome da nossa pasta


aparece em um tom mais claro,

13. indicando que a pasta não está no caminho de pesquisa.

14. Para garantir que nosso arquivo seja encontrado, temos duas
opções.

15. A primeira opção é mudar nossa pasta atual

16. para a pasta do projeto onde o script está armazenado.

17. O nome do script agora aparece no Navegador de Pastas Atual em


letras pretas,

18. indicando que será encontrado.

19. Alternativamente, se freqüentemente nos encontramos usando


arquivos de uma pasta específica,

20. podemos adicionar essa pasta ao Caminho de pesquisa para que


esses arquivos sejam encontrados

21. independentemente da pasta atual.

22. Para ver e alterar o caminho de pesquisa

23. nós usamos o comando PATHTOOL.

24. Vamos adicionar a pasta "MyProject".

25. Observe que essa pasta agora é a primeira em nosso caminho de


pesquisa do MATLAB.
26. Para manter esta configuração

27. para a nossa atual sessão do MATLAB,

28. clicamos CLOSE.

29. Para adicionar permanentemente esta pasta para futuras sessões

30. nós escolhemos SAVE.

31. E é isso!

32. Ao adicionar pastas ao caminho de pesquisa, podemos organizar


nossos arquivos de código da maneira que queremos,

33. e ainda usá-los quando quisermos.

34. Fim da transcrição. Pule para o começo.

https://www.youtube.com/watch?
time_continue=26&v=jllRcCvlAhk

escrevendo funções:

1. ício da transcrição. Pule para o final.

2. O MATLAB inclui milhares de funções prontas para uso que


executam uma variedade de

3. tarefas.

4. Mas e se precisarmos de uma função personalizada para nossa


aplicação?

5. Podemos escrever nossa própria função MATLAB.

6. Vamos ver como.

7. Uma função MATLAB consiste em duas partes: a declaração e o


corpo.

8. A declaração começa com a palavra-chave, FUNCTION, seguida de


como vamos usar ou chamar

9. função.
10. Isso significa que fornecemos as variáveis de saída, o nome da
função e as variáveis de entrada.

11. No corpo da função, nós fornecemos o conjunto de comandos a


serem executados a cada vez que a função

12. é chamado.

13. Usamos outras funções do MATLAB em combinação com as


entradas para criar as variáveis de saída.

14. Por fim, marcamos o final da função com a palavra-chave END.

15. Isso cobre a sintaxe, mas como usamos uma função


personalizada?

16. Vamos ver como, fazendo um exemplo.

17. Suponha que precisamos somar os primeiros n termos de uma


série geométrica, que é dada por este

18. Fórmula.

19. A função tem apenas uma única variável de saída, s, que


corresponde à soma.

20. Os parênteses são necessários quando há várias saídas, mas como


só temos uma saída

21. nós podemos removê-los.

22. Os nomes de funções seguem as mesmas convenções da


nomenclatura das variáveis MATLAB e devem

23. não se sobrepõem a nomes de funções existentes.

24. Vamos chamar nosso geoSum.

25. Para completar a declaração, forneceremos a lista de variáveis de


entrada necessárias para calcular

26. uma soma geométrica: a razão comum, r, e o número de termos


para somar, n.

27. Em seguida, incluímos as instruções para calcular s em termos de


re on dentro da função

28. corpo.
29. Também é uma boa prática fornecer comentários abaixo da
declaração de função para nosso futuro

30. referência, ou para comunicar a intenção aos outros.

31. Agora vamos colocar esta função para usar.

32. Podemos fazer isso de duas maneiras diferentes.

33. Se a função for usada em um único arquivo de código, nós


movemos a definição para o fundo

34. do script e, em seguida, chame geoSum no código acima.

35. Quando executamos o script, nossa função é usada para calcular a


soma geométrica.

36. Mas o que acontece se precisarmos de nossa função em outros


arquivos de código ou no prompt de comando?

37. Uh oh, texto vermelho geralmente não é bom.

38. Este erro ocorreu porque o geoSum é atualmente uma função local,
o que significa que só podemos usar

39. no script onde está definido.

40. Neste caso, precisamos criar um arquivo de código separado que


contenha apenas a função

41. definição.

42. Então vamos deletar o código acima.

43. Por fim, salvamos nosso arquivo na pasta atual, certificando-nos de


que o nome do arquivo corresponda à função

44. nome.

45. Agora, quando chamamos geoSum no prompt de comando, os dois


valores de entrada são passados para a função,

46. o corpo da função é executado e o valor da variável de saída é


retornado.

47. E assim, há mais uma função que podemos chamar.

48. Olá, geoSum?


49. Eu gostaria que a soma de r seja igual a metade e n seja igual a
infinito, por favor.

50. <suspiro> Sim, eu vou segurar.

51. Fim da transcrição. Pule para o começo

https://www.youtube.com/watch?v=sJRWmhftJJw

Código de solução de problemas com o


depurador
1. Início da transcrição. Pule para o final.

2. Quando começamos a combinar muitas linhas de código

3. em scripts ou funções,

4. há mais oportunidades para introduzir erros.

5. Às vezes nosso código resultará em uma mensagem de erro,

6. ou pode produzir uma saída que é

7. diferente do que esperamos.

8. Opa!

9. Tais erros são freqüentemente chamados de erros.

10. Podemos localizar erros e corrigir erros

11. usando o depurador no MATLAB.

12. Vamos ver como usar este exemplo.

13. Este código serve para calcular a conta total

14. saldo em juros ganhos em um vetor

15. de depósitos e taxas de juros para cada ano.

16. No entanto, quando executamos o código

17. nós recebemos uma mensagem de erro.

18. Hmm.
19. Houve um problema na linha 7 do código

20. relacionado à multiplicação como referenciado

21. na mensagem de erro.

22. Para ajudar a determinar a causa do erro,

23. vamos rodar o código novamente

24. mas desta vez pausa a execução do código

25. na linha onde o erro ocorre.

26. Fazemos isso usando um ponto de interrupção.

27. Com o arquivo de código aberto no editor do MATLAB,

28. vamos criar um ponto de interrupção clicando com o botão


esquerdo

29. no traço ao lado da linha 7.

30. Um círculo vermelho é exibido no número da linha

31. indicando que definimos um ponto de interrupção.

32. Agora, quando nós executamos o arquivo

33. o prompt de comando muda para nos mostrar

34. que estamos no modo de depuração,

35. e novos botões estão disponíveis

36. na toolstrip do editor do MATLAB.

37. Nós também vemos os valores atuais

38. de variáveis no espaço de trabalho.

39. Observe que a variável de loop, i, é uma,

40. e interesse variável é zero porque

41. o código foi interrompido antes da linha 7 ser executada.

42. Temos duas opções para continuar a execução do código.

43. Poderíamos usar o botão "Continuar"


44. para retomar a execução até que outro ponto de interrupção seja
atingido,

45. Ocorre um erro ou o código é executado até a conclusão.

46. Ou podemos usar o botão "Step" para executar

47. apenas a linha atual de código

48. que é indicado pela seta verde.

49. Como não sabemos onde está o erro,

50. vamos usar o botão de passo para executar a linha 7

51. e avance o código uma linha.

52. O interesse variável é atualizado e vemos

53. é um vetor de seis elementos!

54. Nós queríamos que o interesse fosse um valor escalar,

55. então parece que nós encontramos nosso erro.

56. No modo de depuração, podemos digitar comandos para

57. teste possíveis correções.

58. Aqui, o que pretendíamos fazer era usar a variável de loop, i,

59. para selecionar um valor das taxas vetoriais.

60. Desde que encontramos o erro, vamos pressionar

61. o botão "Quit Debugging",

62. em seguida, atualize e salve o arquivo de código.

63. É importante deixar de depurar porque

64. Não podemos salvar nossas alterações no modo de depuração.

65. Observe que o ponto de interrupção não foi removido

66. e a execução fará uma pausa aqui na próxima vez que o código for
executado.

67. Para executar o código sem parar


68. nós removemos o ponto de interrupção clicando com o botão
esquerdo nele.

69. Agora vamos rodar o código e ...

70. oops, outro erro?

71. Você vê onde está o erro?

72. Se não tentar usar as ferramentas de depuração

73. para encontrar e corrigir o erro.

74. Definir um ponto de interrupção e "Step" ou "Continue"

75. através do código até encontrar o erro.

76. Preste atenção nas dimensões das variáveis

77. como o código itera através do loop FOR.

78. Fim da transcrição. Pule para o começo

https://www.youtube.com/watch?
time_continue=2&v=WTMFJyK0EyI

Cálculos Simbólicos
1. nício da transcrição. Pule para o final.

2. Até agora, temos feito cálculos numéricos que são necessários em


muitos aplicativos do mundo real.

3. Tomemos o exemplo simples de encontrar as soluções para uma


equação quadrática. Nós podemos encontrar rapidamente

4. as soluções numericamente quando temos os coeficientes. No


entanto, às vezes temos imaginário

5. raízes. Como podemos determinar quando as soluções são reais?

6. Se olharmos para a solução simbólica, vemos que a expressão


dentro da raiz quadrada
7. deve ser positivo para ter raízes reais. Vamos ver como chegamos
a esta solução usando

8. MATLAB e a caixa de ferramentas de matemática simbólica. O


primeiro passo é definir variáveis simbólicas

9. usando o comando syms. Variáveis simbólicas diferem do numérico

10. variáveis que usamos até agora porque não precisamos atribuir
valor a elas. Nós simplesmente declaramos

11. sua existência e podemos usá-los em cálculos. Como aqui,


entramos no quadrático genérico

12. equação e atribua a expressão à variável 'y'. Observe que "y"


automaticamente

13. torna-se uma variável simbólica, embora não tenhamos declarado


como uma.

14. Agora, para encontrar a solução simbólica, usamos a função SOLVE


enquanto definimos 'y' igual

15. para 0 e especificando 'x' como a variável a ser resolvida. E


bingo! A função SOLVE retorna

16. uma variável com as duas soluções que correspondem à fórmula


quadrática.

17. Mas espere um segundo. Há algo diferente neste último


comando. Porque um único

18. sinal de igualdade é o operador de atribuição, usamos dois sinais


de igual para criar um simbólico

19. equação. Agora, se precisarmos aplicar nossa solução?

20. para um exemplo específico? Em outras palavras, temos que


substituir as variáveis simbólicas 'a',

21. 'b' e 'c' com valores fixos. Sem problemas. A função SUBS substitui
variáveis simbólicas

22. com números ou outras expressões simbólicas. Veja como isso


funciona. Precisamos de três entradas:
23. a expressão que desejamos avaliar, as variáveis simbólicas a
serem substituídas e os valores a serem substituídos

24. em para as variáveis simbólicas. O resultado é mantido como uma


solução simbólica exata,

25. do que uma aproximação numérica. Talvez você tenha notado,


nossa solução não é

26. totalmente simplificado. Vamos consertar isso usando a função


SIMPLIFY. Lá vamos nós, uma solução exata

27. à nossa equação quadrática. Em muitos casos, ainda precisamos


de uma representação numérica

28. dos nossos resultados simbólicos. Mais uma vez, não há


problema. Usamos a aritmética de precisão variável

29. ou VPA, funcionam para exibir a solução exata como um número. A


segunda entrada para a função VPA

30. especifica o número de dígitos a serem incluídos na saída e a saída


ainda é simbólica

31. variável. Nós já trabalhamos com o essencial

32. de resolver uma equação simbolicamente, e você pode usar essas


técnicas para resolver uma grande variedade

33. de problemas. Antes de fecharmos, aqui estão alguns exemplos de

34. outras aplicações que surgem frequentemente, como encontrar


integrais, fazer expansões em série,

35. e plotagem de equações de uma ou mais variáveis. Agora guarde a


caneta e o papel e tente resolver

36. alguns problemas no MATLAB você mesmo.

37. Fim da transcrição. Pule para o começo

https://www.youtube.com/watch?v=BKRe95AHrlk

MATLAB e Simulink na Indústria


O MATLAB é uma linguagem de programação de alto nível que é
fácil de usar para prototipagem rápida de algoritmos. Ele foi
projetado para funcionar eficientemente com matrizes e
operações de álgebra linear, o que torna o MATLAB uma ótima
ferramenta para os tipos de técnicas matemáticas e de
processamento de imagens necessárias para a robótica. No
entanto, é amplamente utilizado em muitas indústrias, tornando-
se uma habilidade valiosa para ter. Até o Google está
procurando pessoas que conhecem o MATLAB .

Simulink é um ambiente de programação gráfica bem adequado


para controles e simulações baseadas em tempo. O Simulink
permite que grupos de engenharia modelem componentes
específicos e, em seguida, combine modelos individuais para
simular um sistema inteiro.

Tanto o MATLAB quanto o Simulink suportam a geração de


código . Com o apertar de um botão, o código MATLAB e os
modelos Simulink estão prontos para implantação em hardware,
reduzindo o tempo de projeto e simulação para protótipo e
produção.

Embora estejamos usando apenas um subconjunto dessas


ferramentas nos MicroMasters, usando o MATLAB você obterá
habilidades valiosas para os empregadores atuais ou futuros. Se
você estiver interessado em aprender mais, veja estas histórias
de usuários descrevendo como o MATLAB e o Simulink foram
usados para acelerar o ritmo da ciência e da engenharia.

Robô humanóide completa tarefas complexas como pegar uma


bola .

O MIT usa o MATLAB e o Simulink para fazer o robô ATLAS dirigir


um carro .

O Delphi usa o MATLAB para sistemas de radar para veículos


autônomos .

Informação do Exame Proctored

Praticar a Informação do Exame Aprovado


Este curso inclui um Exame Final e Médio que são ambos
supervisionados. Os exames são administrados on-line através
de um software chamado Remote Proctor Now. Para fazer os
exames, você deve estar inscrito como aprendiz verificado
antes do exame de meio de aula.Registre-se para o certificado
verificado aqui .

 Exame Intermediário: Abrange o material das semanas 1-6

 Exame final: cobre o material das semanas 7-12

Antes de fazer o exame:

 Revise a seção 16.3.2 Visão geral do Proctoring on-line no


edX Learner's Guide para obter informações detalhadas sobre
os exames supervisionados.

 Verifique os requisitos do sistema de software


Proctoring .

Tanto para o exame intercalar como para o exame final,


permitiremos o seguinte:

 É permitido um pedaço de papel tamanho Carta ou A4 com


anotações manuscritas de um lado apenas.

Observação : Se você é um aluno com deficiências, envie um e-


mail para online-learning@seas.upenn.edu se precisar de mais
tempo ou acomodações específicas para fazer o exame. Se você
precisar solicitar tempo extra ou descontos especiais para
concluir o exame, faça-o antes de fazer qualquer escolha na
página do exame.

Vídeo - semana 1 Introdução

1. io da transcrição. Pule para o final.

2. Esta semana, vamos cobrir algumas das matemáticas

3. que fortalece nosso estudo de robótica.

4. Especificamente, nós estaremos falando sobre espaços vetoriais,


produtos internos,
5. ortogonalidade e entender como esses conceitos se relacionam
com a geometria dos robôs.

6. Fim da transcrição. Pule para o começo

Vector Algebra-Video 1.1

1. anscrição. Pule para o final.

2. Olá e bem vindo a esta unidade sobre os fundamentos da robótica.

3. Antes de começarmos,

4. Eu queria lhe dar uma ideia de como será o tema básico deste
módulo.

5. Nosso objetivo aqui é fornecer a você as ferramentas matemáticas


das quais precisaremos

6. para falar sobre onde as coisas estão no espaço.

7. Agora, isso parece uma tarefa relativamente simples e é.

8. Mas há poucas sutilezas que precisamos acertar.

9. A fim de esclarecer nosso pensamento e

10. que também poderemos escrever código para guiar vários robôs.

11. Para motivar este problema, imagine que você está tentando
programar um robô humanóide

12. como este.

13. Para pegar uma xícara.

14. Você pode começar desenvolvendo um sistema para localizar o


copo

15. em relação ao sistema de câmeras, que está embutido na cabeça


do robô.

16. Agora, você também pode estar interessado em descobrir onde


essa taça é

17. com relação à garra que você vai estar usando para

18. realmente manipular o objeto.


19. Ambas as perspectivas são importantes, e precisamos ser capazes
de relacioná-las

20. nosso pensamento e no código que finalmente iremos escrever.

21. Agora, uma das ferramentas básicas que vamos usar para falar
sobre onde

22. as coisas vão até Descartes.

23. Ele propôs essa ideia de um quadro de referência coordenada


cartesiana.

24. Aqui, estamos representando isso no avião.

25. A ideia básica é bem simples.

26. Nós começamos com um plano de partição de referência descrito


aqui por esses dois eixos,

27. xey em uma origem implícita aqui.

28. Depois de estabelecermos esse quadro de referência de


coordenadas, podemos falar sobre

29. a localização de pontos no plano, associando-os a tuplas.

30. Denotando suas coordenadas com relação a este quadro de


referência.

31. Note que também podemos usar esse tipo de representação para
falar sobre vetores,

32. correspondendo a direções no plano, ou deslocamentos.

33. Aqui, por exemplo, podemos pensar em um vetor de deslocamento.

34. Qual é representado por essa tupla.

35. Indicando um deslocamento de uma unidade ao longo do eixo x.

36. E três unidades ao longo do eixo y.

37. Vamos chamar essas tuplas de números empilhados verticalmente,

38. aqui estamos mostrando um exemplo do vetor v associado a essa


tupla aqui, 2, 1.
39. Nós diremos que v é um elemento de R2 para denotar o fato de que
é

40. composto de dois números reais em oposição a dizer dois números


complexos.

41. Nós teremos mais a dizer sobre vetores desta forma em módulos
subseqüentes.

42. Dada essa representação, é natural imaginar operações algébricas


simples

43. como multiplicação por um escalar ou adição.

44. É o primeiro exemplo que podemos imaginar um vetor.

45. 1, 2, sendo multiplicado por um escalar, neste caso cinco.

46. A operação prossegue simplesmente multiplicando cada

47. dos elementos nesse vetor, por sua vez, pela escala de cinco.

48. Neste caso, o resultado seria uma nova tuba 5, 10.

49. Onde a primeira entrada é simplesmente 5 vezes 1 e a segunda é 5


vezes 2.

50. Outra operação que podemos imaginar é a adição.

51. Aqui temos dois vetores, 3, 7 e menos 5, 2 e

52. a soma desses dois vetores corresponde a este terceiro resultado.

53. -2, 9, onde aqui novamente, o primeiro elemento, -2,

54. é a soma de 3 e -5 e o segundo elemento é a soma de 7 e 2.

55. Basicamente, estamos simplesmente adicionando elementos


correspondentes

56. no vetor juntos.

57. Agora, podemos realmente colocar uma espécie de geométrica

58. interpretação sobre estas operações algébricas.

59. Aqui por exemplo,


60. se pensarmos em cada uma dessas tuplas como correspondendo a
um vetor no espaço,

61. A multiplicação escalar corresponde ao escalonamento do vetor


por essa quantidade.

62. Então, aqui, podemos imaginar começando com o vetor inicial v e

63. escalonando-o por um fator a que corresponde à multiplicação


escalar,

64. Estou recebendo um novo vetor vezes v.

65. Da mesma forma, podemos imaginar dois vetores e

66. w representado por tuplas no plano que consiste em dois números.

67. E pense em sua soma algébrica como correspondendo a

68. um novo vetor que representa o resultado da adição desses dois


vetores da cabeça à cauda.

69. Note que não há nada de especial sobre o número 2 aqui além do
fato de que

70. elementos de R2 correspondem muito naturalmente a pontos no


plano cartesiano.

71. Também poderíamos falar facilmente sobre pontos no R3, assim.

72. Aqui estamos falando de tuplas compostas de três números reais.

73. Equivalentemente, poderíamos estar falando sobre tuplas


consistindo

74. de seis números, neste caso, isso será representado por R6.

75. R correspondendo novamente a números reais e

76. o expoente seis correspondente ao número de elementos na tupla.

77. Em geral, quando se fala de um conjunto Rn

78. o número n denota a dimensão do vetor.

79. Também estaremos interessados em falar sobre os locais dos


objetos

80. no espaço tridimensional.


81. Aqui o espaço vetorial R3 será particularmente útil.

82. Aqui podemos imaginar um quadro de coordenadas que consiste


em três eixos ortogonais.

83. X, Y e Z.

84. E podemos falar sobre as coordenadas de um ponto associando

85. -los com um triplo de números que denota as coordenadas desse

86. ponto ao longo de cada uma dessas três direções ortogonais.

87. Fim da transcrição. Pule para o começo.

Vector Algebra-Video 1.2

1. a transcrição. Pule para o final.

2. No último módulo, começamos a falar sobre vetores.

3. E descrevemos algumas operações algébricas básicas que


pudemos realizar em vetores.

4. Ou seja, multiplicação por escalar e adição.

5. Neste módulo, vamos introduzir um terceiro

6. operação básica que pode ser executada em vetores.

7. O nome dessa operação é o produto interno e podemos defini-lo da


seguinte maneira.

8. O produto interno leva dois vetores, neste caso,

9. vamos considerar os vetores v e w como sendo um R2.

10. O resultado do produto interno é um valor escalar que é calculado


por

11. multiplicando elementos correspondentes no vetor juntos e

12. em seguida, adicionando o resultado.

13. Neste caso, o vetor v é representado por um topple de dois


números v1 e v2.

14. E w é representado por este topple, w1 e w2.


15. O produto interno representado por este v pontilhado com

16. w é dado por v1 vezes w1 + v2 vezes w2.

17. Aqui vemos dois exemplos trabalhados.

18. No primeiro, estamos pegando o produto escalar de 1, 2 e 3, 4.

19. O resultado disso é 1 x 3 + 2 x 4, resultando em 11.

20. E neste exemplo, estamos pegando o produto escalar de 3- 5 e 2, 1.

21. O resultado disso é o valor escalar, 1.

22. Mais geralmente, podemos aplicar isso em uma operação de


produto para vetores em Rn.

23. Nós simplesmente multiplicamos os elementos correspondentes


dos dois vetores juntos, e

24. Adicione os produtos juntos para formar o resultado final.

25. Aqui estamos mostrando um exemplo, operando em vetores em R3.

26. Então 1, 2, 5, pontuado com 3, 4, -1,

27. resulta em 1 x 3 + 2 x 4 + 5 x (-1) e

28. o resultado dessa operação é o valor escalar 6.

29. Se pegarmos o produto interno de um vetor consigo mesmo,


acabamos com um resultado positivo

30. número, que corresponde à soma dos quadrados das entradas.

31. Aqui, por exemplo, estamos pegando o produto interno de um vetor


v

32. que vive em R2, com ele mesmo e o resultado é simplesmente x ao


quadrado + y ao quadrado.

33. Agora, podemos interpretar essa quantidade como o quadrado do


comprimento do vetor,

34. como mostrado abaixo.

35. Esta quantidade, que se refere como a norma do vetor é


representada
36. com este símbolo.

37. Expressando essa ideia algebricamente, podemos escrever que a


norma do vetor

38. O quadrado é = para o produto do duto do vetor v, com ele mesmo.

39. Ou, equivalentemente, que a norma do vetor

40. é = para a raiz quadrada do produto interno do vetor consigo


mesmo.

41. Este slide mostra graficamente

42. o que o slide anterior estava expressando algebricamente.

43. Aqui, podemos pensar no vetor v

44. em termos de suas coordenadas ao longo dos eixos xe y.

45. E notamos que a norma do vetor corresponde ao comprimento

46. deste lado do triângulo.

47. E que esse comprimento vai corresponder à raiz quadrada de x ao


quadrado

48. mais y ao quadrado por causa do teorema de Pitágoras.

49. Fim da transcrição. Pule para o começo.

Questionário 1.1

Ortogonalidade e Vector Space-Video 1.3

1. da transcrição. Pule para o final.

2. Nesta secção,

3. vamos descrever mais algumas propriedades da operação interna


do produto.

4. A primeira propriedade descrita neste slide

5. é o fato de que o produto interno é comutativo.

6. Mais especificamente, se v e w correspondem a dois vetores em


Rn,
7. então (vw) e (wv) produzirão exatamente o mesmo resultado.

8. Outra propriedade do produto interno que é bastante simples de


demonstrar

9. é o fato de ser distributivo em relação à escala de multiplicação.

10. Basicamente, se alfa é um escalar e v e w são vetores em Rn,

11. então v pontilhado com uma versão em escala de w por alfa,

12. produz exatamente o mesmo resultado que você obteria

13. se você pegou o produto de ponto de ve we

14. em seguida, dimensione-os pelo vetor alfa depois.

15. Da mesma forma, o produto interno é distributivo em relação ao


vetor

16. Adição.

17. Então, se u, v, e w são todos vetores em Rn, então u pontuado com


a soma de v e

18. w, produz exatamente o mesmo resultado que você

19. obter, se você tomou os produtos internos de veu você e

20. w e adicionou esses dois valores escalares juntos.

21. Dadas essas identidades, podemos derivar as seguintes


propriedades também de maneira bastante simples.

22. Neste caso, se considerarmos o produto escalar de (a + b) e

23. (c + d) onde a, b, c e d são todos vetores em Rn.

24. Vamos produzir o seguinte resultado que é simplesmente produzido


por

25. tomando o produto de ponto de elementos correspondentes nos


dois vetores.

26. Neste caso, (ac), (ad), (bc) e (bd).

27. Novamente, estes são todos valores escalares,

28. que pode ser facilmente resumido para produzir o resultado final.
29. Mais especificamente, se fôssemos tomar a norma euclidiana de (a
+ b)

30. quadrado que corresponde ao produto de ponto de (a + b) consigo


mesmo,

31. nós obteríamos o resultado quadrático seguinte.

32. Agora vamos pegar o que acabamos de derivar algebricamente e

33. aplique-o à seguinte situação.

34. Aqui estamos descrevendo dois vetores, V e W no plano.

35. A diferença entre esses dois vetores,

36. (VW) corresponderia ao vetor seguinte, o terceiro lado do triângulo.

37. Neste desenho,

38. vamos deixar teta corresponder ao ângulo entre esses dois


vetores.

39. Agora, a partir de nossa discussão sobre normas vetoriais,


podemos escrever que a Euclidiana

40. A norma de (vw) ao quadrado deve avaliar o seguinte resultado.

41. Norma de v ao quadrado + norma de w ao quadrado

42. o produto interno de v ew multiplicado por 2.

43. Agora, também sabemos da regra cosseno que dado um triângulo


como este,

44. o comprimento do lado em que estamos interessados (vw)

45. ao quadrado é dado pela seguinte expressão.

46. A norma de v ao quadrado corresponde ao comprimento do lado


quadrado,

47. A norma de w ao quadrado corresponde ao comprimento desse


lado ao quadrado.

48. E este termo aqui corresponde ao produto dos dois comprimentos

49. multiplicado pelo cosseno do ângulo.


50. Agora, se nós igualamos essas duas expressões,

51. que deve avaliar exatamente o mesmo resultado.

52. Nós concluímos que este termo, duração de v vezes

53. o comprimento de w vezes o cosseno de theta deve avaliar

54. para este termo aqui, o produto interno de v e w.

55. Este resultado é realmente bastante útil, porque nos dá

56. uma interpretação geométrica para o que a operação interna do


produto está realmente fazendo.

57. Ou seja, a operação interna do produto entre dois vetores produz


um resultado que você

58. ficaria tomando o comprimento desses dois vetores, multiplicando-


os juntos,

59. e modulando-os pelo cosseno do ângulo entre os dois vetores.

60. Uma conseqüência dessa interpretação é que podemos raciocinar


sobre o relacionamento

61. entre dois vetores aqui no plano, simplesmente avaliando o produto


interno.

62. Ou seja, se o produto interno de dois vetores vew for maior que 0,

63. podemos concluir que o cosseno do ângulo entre esses dois


vetores

64. deve ser maior que 1.

65. E, portanto, o ângulo entre esses dois vetores deve ser menor que
pi sobre 2 em

66. radianos.

67. Da mesma forma, se o produto interno entre dois vetores v e w for


menor que 0,

68. deve significar que o cosseno do ângulo entre esses dois vetores é
negativo,

69. o que implica que os ângulos são maiores que pi acima de 2


radianos.
70. Por fim, no caso especial em que o produto interno de dois vetores
é exatamente

71. 0, enquanto os comprimentos desses dois vetores são não 0,

72. deve significar que o cosseno do ângulo era precisamente 0.

73. O que implica que o ângulo entre esses vetores é exatamente pi


acima de 2 radianos ou

74. 90 graus.

75. Essa ideia de dois vetores estarem a 90 graus um do outro é


referida

76. para como ortogonalidade e nós avaliamos isso avaliando

77. o produto interno e determinar se esse valor é 0 ou não.

78. Acontece que essa ideia de raciocinar sobre o ângulo entre

79. dois vetores, calculando o produto interno, na verdade, generalizam


para uma dimensão mais alta.

80. Então, em R3 ou dimensões ainda maiores, nós nos apegamos a


essa interpretação.

81. Fim da transcrição. Pule para o começo

Ortogonalidade e Vector Space-Video 1.4

1. transcrição. Pule para o final.

2. Nas seções anteriores, fizemos uso de tuplas de números,

3. ou seja, R2 e R3, e nos referimos a eles como vetores.

4. Nesta secção,

5. vamos definir essa noção de um conjunto de vetores um pouco


mais formalmente.

6. Então, mais especificamente, nos referimos a um conjunto V como


um vetor

7. espaço sobre o real se possui duas operações.


8. Multiplicação escalar e adição vetorial que satisfazem as
seguintes propriedades.

9. Por exemplo, exigimos que, se dois vetores x e

10. y são adicionados juntos, os resultados também devem estar no


conjunto.

11. Também exigimos que essa operação de adição vetorial seja


associativa,

12. o que significa que não importa em qual outro nós adicionamos os
vetores juntos.

13. Da mesma forma, esta noção de multiplicação escalar

14. deve também ser associativo no sentido seguinte e

15. deve distribuir sobre a operação de adição vetorial.

16. Outras propriedades, como a existência de um elemento zero e a


existência

17. de um elemento negativo para cada elemento no espaço do vetor


também deve ser satisfeito.

18. Agora, acontece.

19. Que as tuplas, R2 e R3 e dadas as operações de escalares

20. multiplicação e adição vetorial como os definimos.

21. Satisfaz facilmente todas essas propriedades, o que significa que


os conjuntos R2,

22. R3 e Rn em geral são espaços vetoriais perfeitamente válidos.

23. Na verdade, são espaços vetoriais canônicos.

24. Agora, essa ideia de um espaço vetorial é na verdade muito mais


geral que isso.

25. De fato, podemos imaginar outros exemplos de conjuntos que


satisfaçam essas propriedades.

26. Por exemplo,

27. se considerarmos o conjunto de todas as funções contínuas nos


números reais.
28. Isso também pode ser pensado como um espaço vetorial.

29. Para nossos propósitos, estaremos simplesmente considerando


espaços vetoriais da forma Rn,

30. R2, R3, R4, etc.

31. Esses espaços vetoriais também são às vezes chamados de


espaços vetoriais finitos.

32. Agora, uma propriedade desses espaços vetoriais finitos é que nós

33. pode definir essa noção de, então, aqui, estamos descrevendo essa
ideia no contexto de R2.

34. Então, aqui, estamos mostrando que qualquer vetor no espaço


representado por uma tupla x,

35. y pode realmente ser reescrito como uma soma linear de dois
vetores base.

36. Neste caso, estamos reescrevendo x,

37. y como a soma de x vezes o vetor 1, 0 e

38. y vezes o vetor 0, 1.

39. Neste exemplo, os vetores e1 e e2 são referidos como vetores base


e

40. os dois vetores tomados juntos são referidos como uma base para
R2.

41. Agora é importante notar que enquanto isso é certamente

42. uma base conveniente para esta base R2, não é única.

43. Podemos imaginar outros pares de vetores que serviriam a um


propósito similar.

44. Acontece que toda essa base para

45. O R2 inevitavelmente terá dois elementos.

46. Fim da transcrição. Pule para o começo

Questoes
Forum

Vídeo - Semana 2 Introdução

1. a transcrição. Pule para o final.

2. Nesta semana, vamos falar sobre transformações lineares e

3. como estes podem ser capturados usando operações matriciais


como

4. multiplicação e matriz de vetores de matriz, multiplicação de


matrizes.

5. As operações de matriz são um elemento fundamental que nos


ajuda a falar sobre

6. coordenar transformações, que são críticas em robótica e visão


computacional.

7. Fim da transcrição. Pule para o começo

Matrizes como Transformações Lineares - Vídeo 2.1

1. scrição. Pule para o final.

2. Na seção anterior, falamos sobre esse conceito de espaço vetorial.

3. Nesta seção, vamos descrever a ideia de uma transformação linear,

4. que mapeia vetores de um espaço vetorial para outro.

5. Aqui, vamos imaginar que temos uma função T.

6. Novamente, isso leva vetores em um espaço de vetores V1 e

7. os mapeia para outro espaço vetorial V2.

8. Dizemos que a função T é uma transformação linear, se e somente


se,

9. satisfaz esta propriedade seguinte.

10. T, aplica-se a uma soma de escala de dois vetores, v e w.


11. Tempos alfa v + beta vezes w

12. deve avaliar o mesmo resultado se aplicarmos a transformação T

13. para o vetor v e vetor w e, em seguida, dimensionados e


adicionados os resultados.

14. Então aqui, alfa e beta são escalares em R.

15. E ve são vetores em V1.

16. Note que V1 e V2 não precisam ser o mesmo espaço vetorial.

17. V1 poderia ser r4 e V2 poderia ser r3.

18. Ou, V1 poderia ser r7 e V2 poderia ser r300.

19. Contanto que a transformação T satisfaça essa propriedade,

20. vamos nos referir a ela como uma transformação linear.

21. Aqui estão alguns exemplos de transformações lineares, neste


caso,

22. operando em r2.

23. Aqui está uma transformação que leva um vetor xy e

24. produz outro vetor em R2,

25. onde os elementos são simplesmente redimensionados pelos


valores Sx e Sy.

26. Aqui está uma operação que pega um vetor em x em R2 e inverte


as duas entradas.

27. Então, produzindo um segundo vetor, y x.

28. Por fim, aqui está um exemplo que usa um vetor, xy e

29. produz um resultado x + y.

30. Neste caso, estamos pegando um vetor em R2 e

31. produzindo um resultado escalar, que podemos pensar como um


vetor em R1.

32. Isso, novamente, é um exemplo de uma transformação linear

33. indo entre dois espaços vetoriais diferentes.


34. Como exercício, você deve verificar por si mesmo que essas
transformações

35. de fato, satisfaz todas as propriedades requeridas de uma


transformação linear.

36. Fim da transcrição. Pule para o começo

Matrizes como Transformações Lineares - Vídeo 2.2

1. Pule para o final.

2. Nesta seção, vamos falar sobre a relação entre o linear

3. transformações que descrevemos anteriormente e matrizes.

4. Então, vamos começar notando que podemos caracterizar

5. a ação de uma transformação linear em vetores em Rn.

6. Ao relatar sua ação nos vetores de base canônicos.

7. Então, para tornar isso um pouco menos abstrato.

8. Imagine que você tenha um vetor v em R2.

9. Agora, como observamos, esse vetor,

10. v = (xy) pode ser reescrito como linear

11. combinação de dois vetores base e1 e e2.

12. Onde, novamente, e1 corresponde ao vetor (1 0) e

13. e2 para o vetor (0 1).

14. Então, estamos simplesmente reescrevendo nosso vetor original v


como x vezes e1 e y vezes e2.

15. Agora imagine que temos uma transformação linear a qual estamos
aplicando

16. esse vetor.

17. Bem, desde que a transformação é linear, sabemos

18. que quando é aplicado a uma combinação linear como esta.


19. O resultado final pode ser escrito da seguinte

20. formato: xT (e1) + yT (e2).

21. Agora, esta observação nos motiva a representar a ação de um


linear

22. transformação com uma matriz onde as colunas da matriz

23. representam a ação da função nesses vetores de base.

24. Então, novamente, vamos dar um exemplo no R2.

25. Aqui está uma função que recebe vetores em R2 e retorna outros
vetores em R2.

26. Agora, vamos considerar como esta função

27. que é uma transformação linear, atua quando aplicada a um vetor


xy.

28. Aqui estamos dividindo nosso vetor original xy novamente

29. uma combinação linear x (1 0) e y (0 1).

30. Os resultados da aplicação desta transformação linear

31. deve, portanto, ser xf (1 0) + yf (0 1).

32. Agora, se nós realmente calcularmos o que esses termos são


aplicados (1 0) e

33. f aplicado a (0 1), acabamos com os seguintes resultados.

34. f aplicado a (1 0) produziria 5 vezes 1 + 2 vezes 1 e

35. os termos 6y e 3y seriam 0.

36. Mais geralmente, se A é uma matriz com m linhas e

37. m colunas e V é um vetor em RM.

38. Então podemos definir o produto vetor de matriz A vezes V como


resultado

39. ficaria se você multiplicasse elementos correspondentes no vetor,

40. V, com colunas correspondentes em A e somados os resultados.


41. Esta equação aqui é outra maneira de representar
matematicamente como isso

42. operação é calculada.

43. Mais uma vez, podemos pensar neste produto como uma soma
ponderada das colunas de A,

44. onde os pesos são as entradas no vetor v.

45. Ou poderíamos pensar equivalentemente nisso como um vetor


produzido por

46. tomando produtos internos do vetor v com cada linha da matriz A,


por sua vez.

47. Você obtém exatamente o mesmo resultado em qualquer


interpretação.

48. Para recapitular, o que estamos observando é que toda


transformação linear

49. um espaço vetorial de dimensão finita pode ser representado em


termos de uma matriz.

50. E a ação dessa transformação linear pode ser calculada

51. usando multiplicação vetorial matriz.

52. Aqui estão mais alguns exemplos de multiplicação de vetores de


matriz.

53. No primeiro exemplo,

54. o produto desta matriz 2 por 2 com este vetor 2 por 1 pode ser
calculado

55. tomando o primeiro elemento 1 multiplicando-o com a primeira


coluna (1 0).

56. E, em seguida, adicionando-o ao produto do segundo elemento,

57. que é 2 com a segunda coluna, que é (-3 4).

58. Os resultados neste caso são um vetor (-5 8).

59. O segundo exemplo, fazemos uma coisa muito parecida, acabamos

60. com o primeiro elemento 2 vezes a primeira coluna (1 4).


61. O segundo elemento -1 vezes a segunda coluna (2 5).

62. E o terceiro elemento 3 vezes a terceira coluna (3 6).

63. Neste caso, produzindo um vetor 921.

64. Isso demonstra novamente que a multiplicação de vetor de matriz

65. pode levar vetores em um espaço vetorial, neste caso R3.

66. E mapeie-os para outro espaço vetorial, neste caso, espaço


vetorial R2.

67. Um fato útil sobre transformações lineares é que elas são


composições

68. também seja linear.

69. Vamos imaginar que temos três espaços vetoriais, V1, V2 e V3.

70. E vamos imaginar que temos duas transformações lineares, f

71. uma transformação de v2 para v3 e g, uma transformação de v1


para v2.

72. Agora, a composição deles, então, que nós denotamos desse jeito,

73. também será uma transformação linear.

74. E para ver isso, podemos aplicar a transformação a um dado,

75. Combinação linear, alfa v e beta w, como segue.

76. Primeiro, aplicamos a transformação g ao vetor de entrada original.

77. Como essa transformação é linear, os resultados podem ser


escritos da seguinte maneira.

78. Em segundo lugar, quando aplicamos f a este resultado, obteríamos


o seguinte.

79. Como f também é linear, o resultado também deve ser um liner

80. combinação destes dois resultados f (g (v)) e f (g (w)).

81. Então, esse resultado é suficiente para mostrar

82. que essa composição fg também é linear.


83. Vamos considerar como esta ideia de composição de
transformações lineares

84. joga fora quando nós consideramos a partir da perspectiva do vetor


de matriz

85. multiplicação.

86. Vamos imaginar que temos duas transformações lineares

87. T1 e T2 que queremos aplicar a um vetor v em R2.

88. Dada a nossa discussão anterior, sabemos que

89. o resultado dessa transformação pode ser escrito

90. Na seguinte forma: vxT1 (e1) e vyT1 (e2).

91. Mais uma vez, porque a transformação T1 é linear.

92. e1 e e2 são simplesmente os vetores base em vetores de base


canônicos R2.

93. Mais uma vez desde T2 também é uma transformação linear,

94. o resultado da aplicação a este resultado pode ser escrito neste


formulário.

95. vx multiplicado por este termo e vy multiplicado por este termo.

96. Note que este primeiro termo pode ser pensado

97. como a aplicação de t2, ao resultado t1, e1.

98. E sabemos que essa operação pode ser calculada multiplicando o


vetor t1,

99. e1, pela matriz associada a t2.

100. Da mesma forma, este segundo termo pode ser calculado


computando o vetor T1 e2 e

101. multiplicando-o novamente pela matriz associada ao T2.

102. [COUGH] Então,

103. se pensarmos nas matrizes associadas às transformações,

104. T1 e T2, associaram-nas às matrizes M1 e M2.


105. Podemos ver que o resultado líquido da aplicação das duas
transformações

106. de volta para trás Será capturado por uma terceira matriz, M3,

107. que se formou aplicando M2 às colunas de M1 a termo.

108. Isso é representado pela seguinte equação.

109. Aqui, esse termo se refere à primeira coluna do M1,

110. e este termo, [COUGH] Refere-se à segunda coluna do M1.

111. Vamos tornar isso um pouco mais concreto com um exemplo.

112. Aqui estamos imaginando duas transformações, f

113. que quando aplicado a um vetor dois produz um resultado escalar e

114. g que mapeia vetores em R2 para vetores em R2.

115. Agora vamos considerar a composição dessas duas


transformações lineares.

116. Neste caso, podemos calcular os resultados aplicando,

117. g para o vetor (1 0) e aplicando f aos resultados.

118. E da mesma forma, considerando o que atingiríamos se


aplicássemos g a (0 1) e

119. em seguida, aplique f aos resultados.

120. E, então, pegue a soma linear desses dois resultados.

121. Aqui, a matriz associada à função f pode ser

122. representado por essa tupla (1 2) enquanto a primeira coluna

123. associado à matriz associada a g é (5, 2).

124. Da mesma forma, a segunda coluna associada

125. a matriz associada a g é essa coluna, (3 -1).

126. Se pegarmos o produto da matriz dessa matriz,

127. (1 2) com este vetor (5 2),

128. acabamos com um resultado 1 vez 5 mais 2 vezes 2 rendendo 9.


129. Da mesma forma, o produto da matriz desta matriz (1 2) e

130. este vetor (3, -1) produz 3 vezes 1 + 2 vezes -1, que é 1.

131. Isso significa que a matriz associada à função composta,

132. f composto com g, pode ser representado pelo seguinte por duas
matrizes (1 9).

133. Em geral, podemos calcular o produto de duas matrizes,

134. A, que é uma matriz lxm, e B, uma matriz mxn, como segue.

135. Uma maneira de pensar sobre essa expressão sigma,

136. é que é o resultado que obteríamos se aplicássemos

137. a matriz A para cada uma das colunas de B, como descrevemos.

138. Aqui estão alguns exemplos de multiplicação de matrizes em ação.

139. No primeiro exemplo, estamos considerando o produto dessas duas


matrizes 2 por 2

140. e este produto pode ser calculado aplicando a matriz (1 -3,

141. 0 4) para a primeira coluna, (1, 2).

142. Em seguida, aplicando essa matriz para a segunda coluna, (3, 0).

143. Aqui estão os resultados escritos em formato longo e

144. Aqui estão os resultados obtidos computando cada uma dessas


duas colunas por vez.

145. No segundo exemplo,

146. calculamos o produto de uma matriz dois por três com uma matriz
de três por três.

147. Aqui, novamente, a primeira coluna é produzida

148. tomando o produto da primeira matriz com a primeira coluna.

149. A segunda coluna corresponde ao produto da primeira matriz

150. com a segunda coluna.

151. E a terceira coluna, ao produto da primeira matriz com a terceira


coluna.
152. Outras operações que podemos imaginar aplicando a matrizes,

153. são bastante simples.

154. Nós podemos multiplicar uma matriz por um escalar de uma


maneira usual simplesmente

155. dimensionando todas as entradas na matriz.

156. E também podemos adicionar duas matrizes, desde que sejam do


mesmo tamanho.

157. E isso corresponde a simplesmente adicionar elementos


correspondentes

158. da maneira usual.

159. Agora, essas operações correspondem à transformação linear em


escala ou

160. adicionando duas transformações lineares correspondentes.

161. Se A, B e C são matrizes e alfa e beta são escalares,

162. as seguintes propriedades podem ser facilmente estabelecidas.

163. A primeira é que essa operação de matriz,

164. A multiplicação de matrizes é, na verdade, associativa.

165. Isso é muito útil, pois se tivermos uma cadeia de transformações


lineares.

166. A, B e C, não importa se multiplicamos B por C, e então aplicamos

167. A para esse resultado O = ou multiplique B por A e depois aplique o


resultado na matriz C.

168. A adição de matriz é claramente comutativa e

169. multiplicação escalar distribui através da adição de matriz.

170. Da mesma forma, matriz e multiplicação é distributiva no seguinte


sentido.

171. E juntar esses dois resultados leva à seguinte expressão.

172. Um fato importante a ter em mente é que a multiplicação de


matrizes não é comutativa.
173. Em geral, se você tem que matrizes, A e B,

174. o produto formado multiplicando-os nesta ordem não é o mesmo


que

175. um produto que você obteria multiplicando-os na ordem oposta.

176. De fato, em muitos casos,

177. Não é possível inverter a ordem e obter um resultado.

178. Por exemplo, se você está multiplicando uma matriz (2x3) por uma
matriz (3x40).

179. Esse produto faz sentido, já que o número de colunas associadas a

180. a primeira matriz corresponde ao número de linhas associadas à


segunda matriz.

181. Se você fosse inverter a ordem, notamos que,

182. nesse caso, as colunas de números aqui não correspondem ao


número de linhas aqui,

183. então o produto nem seria definido.

184. Uma palavra rápida sobre a relação entre multiplicação de


matrizes e MATLAB.

185. Matrix Multiplicação é uma operação fundamental construída em


programação MATLAB

186. meio Ambiente.

187. Quero dizer, se você tem uma matriz A, que é nx1 e

188. um vetor x com n elementos, então simplesmente digitando

189. A * x produzirá o produto vetorial da matriz.

190. Da mesma forma, se A e B são matrizes, então A * B irá,

191. em geral, produzir o produto matriz matricial.

192. Fim da transcrição. Pule para o começo

Questões
Transformações Homogêneas - Vídeo 2.3

1. ão. Pule para o final.

2. Antes de prosseguirmos, será útil para nós revisitarmos a noção de


matriz

3. multiplicação, que descrevemos anteriormente, e sondá-lo um


pouco mais.

4. Agora, quando consideramos o produto de duas matrizes, A e B,


podemos

5. calcular o resultado aplicando a primeira matriz A a cada coluna de


B por sua vez.

6. E foi assim que descrevemos.

7. Agora, outra maneira igualmente válida de olhar para isso é

8. pense na linha na linha i e

9. j coluna do produto C como sendo formado a partir de

10. o produto interno da i-ésima linha de A e a j-ésima linha de B.

11. Espero que isso faça um pouco mais de sentido com um exemplo.

12. Aqui estão novamente alguns dos exemplos que usamos quando
estávamos descrevendo

13. multiplicação matriz matricial.

14. Neste caso, estamos levando o produto de duas matrizes 2 por 2.

15. E o resultado foi calculado aplicando o primeiro

16. matriz para a primeira coluna de b, como mostrado aqui.

17. E, em seguida, aplicando a matriz novamente para a segunda


coluna de b, como mostrado aqui.

18. Agora, uma maneira igualmente válida de olhar para isso é produzir

19. a linha na primeira linha e na primeira coluna do nosso resultado

20. acabamos pegando o produto interno da primeira linha de a e a


primeira coluna de b.
21. Da mesma forma, a entrada na primeira linha e

22. segunda coluna do produto é calculada tomando o interior

23. produto da primeira linha de ae da segunda coluna de b.

24. Neste próximo exemplo, por exemplo,

25. se quiséssemos calcular a entrada na segunda linha e

26. segunda coluna, procederíamos considerando o segundo

27. fila da nossa matriz ae a segunda coluna da nossa matriz b.

28. Então, aqui nós estaríamos olhando para o interior

29. produto de 4, 5, 6 e 1, 4, -2.

30. Isso renderia 4 x 1 + 5 x 4- 2 x 6,

31. o que resultaria em um 12.

32. Outro conceito que precisaríamos mais tarde é a ideia de


transposição de matriz.

33. Agora esta é realmente uma operação muito simples.

34. Dada a matriz A, sua transposta, denotada por A transposta,

35. é produzido fazendo as linhas de A as colunas de A transpostas.

36. Aqui está um exemplo.

37. Começamos com a matriz A, como mostrado aqui, e observe que a


transposição

38. versão é formada tomando a primeira linha e tornando-se a


primeira coluna.

39. E, em seguida, a segunda linha e tornando a segunda coluna.

40. Então, note que neste caso a matriz de entrada A tem duas linhas e
três colunas,

41. o que significa que sua transposição tem três linhas e duas
colunas.

42. O que realmente nos interessa é a interação entre transposição e

43. multiplicação da matriz.


44. Ou seja, a identidade a seguir.

45. Aqui, consideramos o produto de duas matrizes, A e B,

46. produzindo uma terceira matriz C.

47. E observe que, se quisermos calcular a transposição de C,

48. que poderia ser calculado tomando o produto de transposição B e


transposição A.

49. Em outras palavras, a transposição AB pode ser calculada por

50. tomando o produto B transpor, A transpor.

51. Portanto, neste caso, a transposição transpõe cada um dos


elementos,

52. A e B, mas também inverte a ordem de multiplicação.

53. Agora, uma maneira de ver isso é comparando o elemento na linha


ie

54. j coluna de C com o elemento na j-ésima linha e com coluna de C


transposição.

55. E notando que em ambos os casos, o que você realmente vai


acabar

56. a computação é o produto interno da i-ésima linha de A e a j-ésima


linha de B.

57. Fim da transcrição. Pule para o começo.

Transformações Homogêneas - Vídeo 2.4

1. o. Pule para o final.

2. Agora que desenvolvemos algumas das máquinas matemáticas


relevantes, vetores,

3. matrizes, multiplicação do espectro da matriz, etc., no início deste


módulo.

4. Ou seja, podemos imaginar um mundo onde temos dois

5. quadros coordenados distintos de referência.

6. Por simplicidade, vamos fazer isso em um plano bidimensional.


7. Nós rotulamos esses dois quadros coordenados de referência, A e
B.

8. Agora, dado um ponto no mundo aqui p,

9. podemos descrever as coordenadas desse ponto agora com

10. o respeito a qualquer um desses quadros encurralados.

11. Especificamente, vamos deixar pA denotar os cantos do ponto

12. com respeito a coordenar o quadro A enquanto pB denota

13. as coordenadas desse ponto em relação à coordenada do quadro B.

14. Agora, o problema com o qual estaremos preocupados

15. Como relacionamos esses dois vetores de coordenadas?

16. Como calculamos as coordenadas de um ponto em relação a uma


coordenada

17. quadro, Armação?

18. A, dadas as suas coordenadas em relação ao segundo quadro de


coordenadas.

19. Digamos que B.

20. Mais uma vez, para lembrá-lo porque nos preocuparemos com esse
problema,

21. vamos imaginar as situações certas que vamos encontrar com


reais

22. manipuladores robóticos.

23. Esses sistemas são, na verdade, tipicamente compostos por vários

24. partes que são articuladas juntas, às vezes de maneiras muito


complicadas.

25. E o que vamos nos interessar

26. fazer é relacionar diferentes objetos ou pontos no mundo, ou

27. no robô um ao outro através destas transformações de


coordenadas.
28. Agora, o mesmo problema exato ocorre em computação gráfica.

29. Nesse caso, podemos ter um ambiente virtual

30. que podemos querer compor de muitas partes e

31. Queremos ser capazes de descrever como essas partes estão


relacionadas umas às outras.

32. Queremos descrever onde o primeiro ator está em relação ao


segundo ou

33. onde o segundo ator está em relação a peças relevantes na cena


virtual.

34. Dadas essas transformações, gostaríamos de calcular onde todos


esses recursos

35. deve aparecer na saída renderizada final.

36. Agora, antes de começarmos a descrever com precisão, vamos


resolver esse problema,

37. precisamos introduzir essa ideia de coordenadas homogêneas.

38. Operacionalmente, a maneira que vamos fazer isso é por

39. associando pontos no plano com tuplas consistindo

40. de três números em que o último número é 1.

41. Então, um ponto no plano xA, yA com relação a coordenar

42. O quadro A seria representado pelos três vetores seguintes.

43. XA, yA, 1.

44. Da mesma forma, as coordenadas desse ponto com respeito

45. para o segundo quadro B seria referido por esta tupla, xB, yB, 1.

46. Da mesma forma, vamos associar vetores no plano com tuplas

47. composto por três números em que o último número é um zero.

48. Então, se tivéssemos um vetor no plano em relação a coordenar o


quadro ae

49. suas coordenadas foram dadas por vxA e vyA.


50. Suas coordenadas na fórmula homogênea

51. seria dado por essa tupla, vxA, vyA, 0.

52. Novamente, aqui estamos fazendo uma pequena distinção entre os


pontos.

53. Como este, p e vetores.

54. Que podemos pensar como representando direções no plano ou

55. deslocamentos no plano.

56. A razão pela qual estaremos adotando coordenadas homogêneas é


que seremos

57. capaz de associar as transformações de coordenadas que nos


interessam

58. com operações matriciais, como segue.

59. Se pA e pB denotar as coordenadas homogêneas de

60. um ponto em relação ao quadro A e ao quadro B como mostrado


aqui,

61. então seremos capazes de construir uma matriz de três por três
que nós

62. retratam por gAB tal que a relação entre os dois coordenar

63. vetores podem ser capturados pelo seguinte produto vetor de


matriz.

64. Ou seja, podemos calcular as coordenadas de um ponto com

65. em relação ao quadro A, aplicando a transformação três por três,

66. gAB para as coordenadas homogêneas do ponto em relação ao


quadro B.

67. Da mesma forma para vetores ou direções no plano,

68. poderemos relacionar as coordenadas de um vetor no quadro A,

69. VA com as coordenadas do mesmo vetor no quadro B,

70. VB multiplicando novamente a mesma matriz três por três, gAB.


71. Fim da transcrição. Pule para o começo

Transformações Homogêneas - Vídeo 2.5

1. transcrição. Pule para o final.

2. Nesta seção, vamos fornecer uma descrição um pouco mais


detalhada

3. justificativa matemática para o uso de coordenadas homogêneas.

4. Para fazer isso, vamos apresentar a ideia de um plano projetivo.

5. E o plano projetivo, podemos pensar como o conjunto de todos os


raios em R3,

6. Então, essas são matrizes no espaço que passam pela origem.

7. Note que na verdade estamos subindo em dimensões de R2 a R3 e

8. vamos falar sobre a relação entre esses dois conjuntos.

9. Este conjunto, o conjunto de raios para a origem em R3 é referido


como RP (2) ou

10. o plano projetivo real em duas dimensões.

11. Agora, se pensarmos em todos esses raios passando por

12. a origem mostrada como um exemplo aqui, podemos considerar

13. a interação desses raios com um plano particular.

14. Neste caso, o plano z = 1.

15. Em geral, os raios irão cruzar o avião em

16. nomear com o seguinte tipo de coordenadas.

17. X sobre z, y sobre z, o que?

18. Isto é, se o raio original foi representado com o vetor de


coordenadas x,

19. y, z, então essa equação corresponderia à sua interseção com o


plano z = 1.

20. Um ponto importante a ser observado sobre raios e

21. o espaço é que a escala não importa realmente.


22. Então, se eu fosse falar sobre raio, dado por um vetor de
coordenadas 1, 2, 3.

23. Isso seria exatamente o mesmo que raio dado pelo vetor de
coordenadas 2,

24. 4, 6 ou o vetor de coordenadas, -1 -2 -3.

25. Então, escala não importa realmente se estamos falando de raios


no espaço, no sentido.

26. Agora há, claro, raios que não interceptam nosso plano favorito z =
1e

27. estes corresponderiam a raios com coordenadas da forma x, y, 0

28. Então fazemos uma distinção entre raios,

29. que cruzam o plano e correspondem lá por dois pontos.

30. Em R2 e raios que não interceptam o plano.

31. Estes correspondem a pontos.

32. Cujos vetores tem zero na última posição.

33. Nós também podemos pensar nesses raios,

34. os que não interceptam nosso plano como pontos do infinito.

35. Isso é que eles cruzam o avião, mas

36. a uma distância muito distante da origem.

37. E isso ajuda a explicar nossa associação de

38. esses pontos com direções no espaço.

39. Agora, novamente, esta associação de raios em

40. espaço com vetores de coordenadas é realmente muito útil em


número de contexto,

41. incluindo visão computacional, computação gráfica.

42. Se você pensar sobre isso,

43. uma câmera é um dispositivo que mede matrizes em algum sentido


e
44. não faz distinção entre pontos um raio longo.

45. Todos eles serão exibidos em nossa câmera no mesmo ponto.

46. Agora, da perspectiva da geometria projetiva,

47. quando aplicamos essas três por três transformações

48. que estaremos falando de coordenadas homogêneas

49. para produzir equações do tipo seguinte.

50. Essas transformações são realmente vistas como transformações

51. que simplesmente mapeiam o plano projetivo em si e

52. que eles tomam vetores coordenados homogêneos, e

53. produzir vetores coordenados homogêneos.

54. Agora, há muito mais a ser dito sobre as transformações projetivas


e

55. isso é muito lucrativo

56. perspectiva que explicamos tanto em visão computacional quanto


em computação gráfica.

57. Aqui está outro exemplo.

58. Imagine que temos dois referenciais de coordenadas de referência,


A e B, mas

59. estes dois quadros de coordenadas de referência diferem por fator


de escala.

60. Por exemplo, você pode ter uma situação em que um referencial de
coordenadas,

61. medimos distâncias usando medidores.

62. E outro quadro coordenado de referência, medimos as mesmas


distâncias usando pés.

63. Nesse caso, podemos representar a transformação de escala com

64. os seguintes três por três matriz.

65. Novamente, se aplicamos a multiplicação vetorial de matriz.


66. XB novamente escalaria a primeira coluna.

67. Y voltaria a escalar a segunda coluna e

68. um escalaria a terceira coluna que produziria os seguintes


resultados.

69. Sx vezes xB.

70. Hora y e 1.

71. Então, neste caso, notamos que as coordenadas respeitam o frame

72. A são obtidos pelo escalonamento das coordenadas


correspondentes, xB e yB.

73. E mais uma vez.

74. A terceira entrada 1 é preservada como seria de esperar.

75. Aqui está nosso terceiro exemplo.

76. Neste caso, temos dois quadros de coordenadas, A e

77. B que estão relacionados entre si através de uma rotação sobre


uma origem comum.

78. Nesse caso, a relação entre esses dois quadros coordenados de

79. a referência é capturada pelas três seguintes por três matrizes.

80. Se realizarmos a multiplicação do vetor da matriz relevante,


poderíamos

81. para transformar as coordenadas de um ponto em relação a um


quadro de coordenadas.

82. Nesse caso,

83. B para a relação correspondente coordena em relação ao quadro A.

84. Agora enquanto escrevemos esses exemplos.

85. Nós podemos ir um pouco mais longe e

86. descreva uma técnica geral que você pode usar para construir
matrizes de transformação.

87. Uma boa maneira de construir estas matrizes de transformação


88. é considerando como a transformação relevante mapeia os eixos
de coordenadas

89. de um quadro para outro e a origem de um quadro para outro.

90. Se você é capaz de fazer isso, você pode construir diretamente as


colunas de

91. as matrizes de transformação dos vetores necessários.

92. Então, neste exemplo em que estamos considerando

93. uma tradução entre dois quadros de coordenadas, A e B,

94. notamos que esta matriz de transformação pode ser construída

95. considerando como as coordenadas de um ponto ou

96. coordenadas do acesso, 1, 0,

97. 0 no quadro B apareceria quando olhado do quadro de coordenadas


A.

98. Neste caso, esta direção

99. vetor 1, 0, 0 no quadro B.

100. Também corresponderia ao vetor 1, 0, 0 no quadro A.

101. Essa é a direção que é a mesma vista de B e do quadro A.

102. Da mesma forma, 0, 1, 0,

103. a direção vertical no quadro B seria

104. ser mapeado para 0, 1, 0 no quadro A.

105. Agora observe que esses vetores, 1, 0, 0 no quadro A e

106. 0, 1, 0 correspondem exatamente ao primeiro e

107. segundas colunas da nossa matriz.

108. Por fim, vamos considerar o que a transformação

109. faz para o ponto 0, 0, 1 no quadro B.

110. Portanto, 0, 0, 1 no quadro B corresponde à origem.

111. Agora, sob essa transformação, esse ponto seria mapeado para.
112. O ponto tx, ty, 1 em relação ao quadro A.

113. Essas são as coordenadas da origem no quadro B

114. ser representado pelo vetor tx, ty, 1 no quadro A.

115. Mais uma vez, este vetor agora corresponde ao terceiro

116. coluna da nossa matriz de transformação.

117. Fim da transcrição. Pule para o começo

Questões

forum

Você também pode gostar