Desenvolvimento de uma biblioteca multiplataforma em rust para veículos remotamente controlados: integração de sensores e atuadores
Autor(a) principal: | |
---|---|
Data de Publicação: | 2023 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFSC |
Texto Completo: | https://repositorio.ufsc.br/handle/123456789/253619 |
Resumo: | TCC (graduação) - Universidade Federal de Santa Catarina, Centro Tecnológico, Engenharia Elétrica. |
id |
UFSC_c6c410fc1079020829e0365ed72f86d6 |
---|---|
oai_identifier_str |
oai:repositorio.ufsc.br:123456789/253619 |
network_acronym_str |
UFSC |
network_name_str |
Repositório Institucional da UFSC |
repository_id_str |
2373 |
spelling |
Desenvolvimento de uma biblioteca multiplataforma em rust para veículos remotamente controlados: integração de sensores e atuadoresROVRustSistemas EmbarcadosTCC (graduação) - Universidade Federal de Santa Catarina, Centro Tecnológico, Engenharia Elétrica.Este trabalho explora o desenvolvimento de uma biblioteca robusta e multiplataforma para Veículos Operados Remotamente (ROVs) usando a linguagem de programação Rust, além de disponibilizar bibliotecas para C++ e Python. Com foco no hardware Navigator – um acessório de Raspberry Pi e componente do submarino BlueROV da empresa BlueRobotics – realizou-se um estudo para a integração dos diferentes sensores que o compõe. Destaca-se que a sua integração foi realizada em uma sintaxe acessível, de forma a facilitar o uso da biblioteca pelas abstrações possíveis. Além disso, desenvolveu-se a solução para diferentes arquiteturas de processador ARM: armv7 e aarch64. Explorou-se também a compatibilidade com musllinux e manylinux, padrões que garantem a portabilidade dos binários para diferentes sistemas operacionais, como Raspbian e Alpine. Ao longo do trabalho, abordam-se os desafios da compilação multiplataforma, o processo da criação da biblioteca em Rust até a sua publicação e a criação de sua portabilidade para Python e C++. A implantação e o processo de integração contínua/entrega contínua (CI/CD) são criados por meio do GitHub Actions, o que permitiu o avanço do trabalho com códigos consistentes, testados e organizados.This work deals with the development of a robust and cross-platform library for Remotely Operated Vehicles (ROVs) using the Rust programming language, with additional libraries provided for C++ and Python. Focusing on the Navigator hardware – a Raspberry Pi accessory and a component of the BlueROV submarine by BlueRobotics Company– a study was conducted to integrate its various sensors. The integration was performed with an accessible syntax, aiming to facilitate the library's usage through possible abstractions. Additionally, solutions were developed for different ARM processor architectures: armv7 and aarch64. Compatibility with musllinux and manylinux was also explored, adhering to standards that ensure binary portability across various operating systems such as Raspbian and Alpine. Throughout the work, challenges of cross-platform compilation are addressed, covering the process of library creation in Rust to its publication and the establishment of portability for Python and C++. Deployment and continuous integration/continuous delivery (CI/CD) processes are implemented through GitHub Actions, enabling the advancement of the project with consistent, tested, and organized code.Florianópolis, SC.Leite, Jean VianeiUniversidade Federal de Santa Catarina.Trombin, Raul Victor2023-12-20T15:48:11Z2023-12-20T15:48:11Z2023-12-15info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesis74application/pdfhttps://repositorio.ufsc.br/handle/123456789/253619Open Access.info:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFSCinstname:Universidade Federal de Santa Catarina (UFSC)instacron:UFSC2023-12-20T15:48:21Zoai:repositorio.ufsc.br:123456789/253619Repositório InstitucionalPUBhttp://150.162.242.35/oai/requestopendoar:23732023-12-20T15:48:21Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC)false |
dc.title.none.fl_str_mv |
Desenvolvimento de uma biblioteca multiplataforma em rust para veículos remotamente controlados: integração de sensores e atuadores |
title |
Desenvolvimento de uma biblioteca multiplataforma em rust para veículos remotamente controlados: integração de sensores e atuadores |
spellingShingle |
Desenvolvimento de uma biblioteca multiplataforma em rust para veículos remotamente controlados: integração de sensores e atuadores Trombin, Raul Victor ROV Rust Sistemas Embarcados |
title_short |
Desenvolvimento de uma biblioteca multiplataforma em rust para veículos remotamente controlados: integração de sensores e atuadores |
title_full |
Desenvolvimento de uma biblioteca multiplataforma em rust para veículos remotamente controlados: integração de sensores e atuadores |
title_fullStr |
Desenvolvimento de uma biblioteca multiplataforma em rust para veículos remotamente controlados: integração de sensores e atuadores |
title_full_unstemmed |
Desenvolvimento de uma biblioteca multiplataforma em rust para veículos remotamente controlados: integração de sensores e atuadores |
title_sort |
Desenvolvimento de uma biblioteca multiplataforma em rust para veículos remotamente controlados: integração de sensores e atuadores |
author |
Trombin, Raul Victor |
author_facet |
Trombin, Raul Victor |
author_role |
author |
dc.contributor.none.fl_str_mv |
Leite, Jean Vianei Universidade Federal de Santa Catarina. |
dc.contributor.author.fl_str_mv |
Trombin, Raul Victor |
dc.subject.por.fl_str_mv |
ROV Rust Sistemas Embarcados |
topic |
ROV Rust Sistemas Embarcados |
description |
TCC (graduação) - Universidade Federal de Santa Catarina, Centro Tecnológico, Engenharia Elétrica. |
publishDate |
2023 |
dc.date.none.fl_str_mv |
2023-12-20T15:48:11Z 2023-12-20T15:48:11Z 2023-12-15 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
format |
bachelorThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://repositorio.ufsc.br/handle/123456789/253619 |
url |
https://repositorio.ufsc.br/handle/123456789/253619 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
Open Access. info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Open Access. |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
74 application/pdf |
dc.publisher.none.fl_str_mv |
Florianópolis, SC. |
publisher.none.fl_str_mv |
Florianópolis, SC. |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFSC instname:Universidade Federal de Santa Catarina (UFSC) instacron:UFSC |
instname_str |
Universidade Federal de Santa Catarina (UFSC) |
instacron_str |
UFSC |
institution |
UFSC |
reponame_str |
Repositório Institucional da UFSC |
collection |
Repositório Institucional da UFSC |
repository.name.fl_str_mv |
Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC) |
repository.mail.fl_str_mv |
|
_version_ |
1808651947132059648 |