quinta-feira, 14 de julho de 2011
Entendendo a Interação do agente com o ambiente
Os Sistemas Multiagentes (SMAs) são compostos por vários agentes, como demonstra a figura, cada agente possui atuadores e sensores, onde os atuadores atuam no ambiente, como exemplos podemos citar este projeto de veiculos autonomos, onde o veiculo atualmente possui 3 servos como atuadores, dois servos estao nas rodas traseiras possibilitando-as irem para frente, tras, lado direito e lado esquerdo, e o terceiro servo gira o sensor ultrasonico, os sensores sentem o ambiente (exemplo o sensor ultrasonico que verifica se ha objetos a sua frente).
O agente é programado em Java (com threads) sob o Framework SemantiCore que abstrai a plataforma de implementação e possibilita a criação de aplicações organizadas em um conjunto de agentes que fazem tarefas no ambiente web ( ESCOBAR,2006). Uma característica da linguagem Java é o uso de bibliotecas para diferentes aplicações, como a API RXTX (RXTX, 2010) e suas classes CommPortIdentifier, SerialPort, SerialPortEvent, SerialPortEventListener usadas nesta pesquisa, as quais possibilitam a comunicação de um programa escrito em Java com a porta Serial do hardware hospedeiro.
O Arduino (ARDUINO, 2010) é uma plataforma de prototipagem eletrônica open-source que se baseia em hardware e software fáceis de usar, o Arduino pode sentir o estado do ambiente que o cerca por meio de sensores que receptam os sinais e pode interagir com os seus arredores, controlando luzes, motores e outros atuadores, conectados através de suas portas digitais e analógicas. O micro-controlador na placa é programado com a linguagem de programação C (SCHILDT, 1997), com bibliotecas próprias e no ambiente de desenvolvimento Arduino. Os projetos desenvolvidos com o Arduino podem ser autônomos ou podem comunicar-se com um computador para a realização da tarefa, com uso de software específico. Existem várias placas que podem se comunicar com o arduino, estas podendo ser adquiridas já montadas ou construídas manualmente. A figura 1 apresenta o Arduino Duemilanove.
Para fazer a comunicação entre a linguagem Java (que esta no computador) e a Linguagem C (que esta embarcada na placa Arduino), foi utilizada a biblioteca RXTX, que possibilita esta comunicação pela porta serial (USB). É através das portas digitais da placa Arduino que é possivel a comunicação com os sensores e atuadores.
A ideia deste projeto é fazer com que o veiculo desvie de objetos em um determinado campo, ou seja, que o veiculo consiga desviar de arvores, pessoas, outros veiculos, entre outros, evitando assim um colisão de forma autonoma controlada por um agente de software.
O agente é programado em Java (com threads) sob o Framework SemantiCore que abstrai a plataforma de implementação e possibilita a criação de aplicações organizadas em um conjunto de agentes que fazem tarefas no ambiente web ( ESCOBAR,2006). Uma característica da linguagem Java é o uso de bibliotecas para diferentes aplicações, como a API RXTX (RXTX, 2010) e suas classes CommPortIdentifier, SerialPort, SerialPortEvent, SerialPortEventListener usadas nesta pesquisa, as quais possibilitam a comunicação de um programa escrito em Java com a porta Serial do hardware hospedeiro.
O Arduino (ARDUINO, 2010) é uma plataforma de prototipagem eletrônica open-source que se baseia em hardware e software fáceis de usar, o Arduino pode sentir o estado do ambiente que o cerca por meio de sensores que receptam os sinais e pode interagir com os seus arredores, controlando luzes, motores e outros atuadores, conectados através de suas portas digitais e analógicas. O micro-controlador na placa é programado com a linguagem de programação C (SCHILDT, 1997), com bibliotecas próprias e no ambiente de desenvolvimento Arduino. Os projetos desenvolvidos com o Arduino podem ser autônomos ou podem comunicar-se com um computador para a realização da tarefa, com uso de software específico. Existem várias placas que podem se comunicar com o arduino, estas podendo ser adquiridas já montadas ou construídas manualmente. A figura 1 apresenta o Arduino Duemilanove.
Para fazer a comunicação entre a linguagem Java (que esta no computador) e a Linguagem C (que esta embarcada na placa Arduino), foi utilizada a biblioteca RXTX, que possibilita esta comunicação pela porta serial (USB). É através das portas digitais da placa Arduino que é possivel a comunicação com os sensores e atuadores.
A ideia deste projeto é fazer com que o veiculo desvie de objetos em um determinado campo, ou seja, que o veiculo consiga desviar de arvores, pessoas, outros veiculos, entre outros, evitando assim um colisão de forma autonoma controlada por um agente de software.
quarta-feira, 13 de julho de 2011
Volta ao trabalho
Boa tarde pessoal... de férias vou aproveitar para terminar a construção do meu veiculo autonomo....hehhee...peço desculpas pelo tempo afastada, estava aproveitando para estudar sobre os temas: SemantiCore, Agentes e Sistemas Multiagentes, C++ e Java, entre outros.... Até amanhã estarei postando tudo o que fiz até agora.... espero que gostem... Abraços!!!
segunda-feira, 21 de junho de 2010
Boa tarde pessoal...
Fiquei um tempo afastada, pois estava esperando as demais peças compradas fora do país (pelo site do Ebay) chegar, e confesso que demorou.. hehehhe, conseguimos fazer o carrinho ser controlado pelo computador, ele anda conforme o usuario aperta as setas do pc (cima-frente, baixo-ré, lado direito e lado esquerdo), agora estamos escrevendo um artigo, entao em breve voltaremos a postar a continuação do nosso projeto que esta ficando muito legal... nos aguarde...
Fiquei um tempo afastada, pois estava esperando as demais peças compradas fora do país (pelo site do Ebay) chegar, e confesso que demorou.. hehehhe, conseguimos fazer o carrinho ser controlado pelo computador, ele anda conforme o usuario aperta as setas do pc (cima-frente, baixo-ré, lado direito e lado esquerdo), agora estamos escrevendo um artigo, entao em breve voltaremos a postar a continuação do nosso projeto que esta ficando muito legal... nos aguarde...
terça-feira, 6 de abril de 2010
Arduino
Existem várias versões da placa Arduino. O arduino que vou usar neste projeto é o Duemilanove ATmega328 Atmel ( datasheet ).
O Arduino Duemilanove é uma placa baseada no microcontrolador ATmega168 ( datasheet ) ou ATmega328 ( datasheet ). Tem 14 pinos de entrada/saída (dos quais 6 podem ser utilizados como saídas PWM), 6 entradas analógicas, um oscilador de cristal de 16 MHz, conexão USB, um conector de alimentação, um cabeçalho ICSP, e um botão de reset. Ele vem pronto para uso, basta conectá-lo a um computador com um cabo USB e programá-lo.
O Arduino Duemilanove pode ser alimentado através da conexão USB ou com fonte de alimentação externa.
Memória: O ATmega168 tem 16 KB de memória flash para armazenar o código,1 KB de SRAM e 512 bytes de EEPROM (que pode ser lido e escrito com a biblioteca EEPROM) e o ATmega328 (o que estou usando) tem 32 KB, 2 KB de SRAM e 1 KB de EEPROM (que pode ser lido e escrito com a biblioteca EEPROM ).
Entrada e Saída: Cada um dos 14 pinos digital no Duemilanove pode ser usada como uma entrada ou saída utilizando as funções pinMode () , digitalWrite () e digitalRead (), eles operam em 5 volts.
Mais informações no site: www.arduino.cc/en/Tutorial/HomePage
O Arduino Duemilanove é uma placa baseada no microcontrolador ATmega168 ( datasheet ) ou ATmega328 ( datasheet ). Tem 14 pinos de entrada/saída (dos quais 6 podem ser utilizados como saídas PWM), 6 entradas analógicas, um oscilador de cristal de 16 MHz, conexão USB, um conector de alimentação, um cabeçalho ICSP, e um botão de reset. Ele vem pronto para uso, basta conectá-lo a um computador com um cabo USB e programá-lo.
O Arduino Duemilanove pode ser alimentado através da conexão USB ou com fonte de alimentação externa.
Memória: O ATmega168 tem 16 KB de memória flash para armazenar o código,1 KB de SRAM e 512 bytes de EEPROM (que pode ser lido e escrito com a biblioteca EEPROM) e o ATmega328 (o que estou usando) tem 32 KB, 2 KB de SRAM e 1 KB de EEPROM (que pode ser lido e escrito com a biblioteca EEPROM ).
Entrada e Saída: Cada um dos 14 pinos digital no Duemilanove pode ser usada como uma entrada ou saída utilizando as funções pinMode () , digitalWrite () e digitalRead (), eles operam em 5 volts.
Mais informações no site: www.arduino.cc/en/Tutorial/HomePage
quarta-feira, 31 de março de 2010
Explicando a imagem nº 3 e nº 4
Imagem 4 - Esta é a frente da placa padrão, onde esta o fio nº 1 é o ground que vem da plaquinha do controle remoto do carrinho, onde esta o nº 2 é o fio ground de cada transistor que liga com o numero 1 para dar contato na placa, onde esta o nº 3 é a frente, ré, direita e esquerda que também vem da plaquinha do controle do carrinho, e o nº 4 eu liguei na placa padrão e a outra ponta eu soldei um pino em cada fio, que é para dar contato com as portas do arduino. Lembrando que estes transistor foi usado porque a plaquinha do controle remoto se alimenta de 9V e o arduino se alimenta de 5V, então a plaquinha do controle recebe estes 9V e manda para os transistor que estão na placa padrão, então estes transistor chaveiam e transmitem para o arduino 5V.
terça-feira, 30 de março de 2010
Explicando a imagem nº 2
Imagem 2 - Esta é a parte de trás da plaquinha do controle remoto, onde o nº 1 é virar a direita, o nº 2 é virar a esquerda, o nº 3 é ground, o nº 4 é ir para frente, o nº 5 é ré, o nº 6 e o nº 7 é a ligação com a bateria, e o nº 8 é a antena. Esta figura mostra as ligações que fiz nesta placa (soldando), sendo que o nº1, 2, 3, 4 e 5 vão para a placa padrão.
Assinar:
Postagens (Atom)