guilhermelawless / introduction-robotics Goto Github PK
View Code? Open in Web Editor NEWMaterial used for learning ROS and robotics with Turtlebot 3, as part of the Introduction to Robotics course at Instituto Superior Técnico
Material used for learning ROS and robotics with Turtlebot 3, as part of the Introduction to Robotics course at Instituto Superior Técnico
Boas Guilherme,
O professor ainda não deu nas teóricas nenhum dos métodos de path planning, por isso estamos um bocado perdidos sobre o que poderemos apresentar já esta quinta-feira.
Estive a ver uns vídeos e penso que poderia criar um Action Client Server que faz publish de quatro waypoints do mapa da sala à escolha e fazer com que o robô faça um loop visitando esses 4 waypoints.
Será uma boa ideia ou é isso que é suposto fazer no ponto 1 do mini-projecto?
Não tenho a certeza é de como implementar um desses path planning methods que estão especificados.
Tem de ser especificado no launch file do MOVE_BASE node? Nomeadamante no parâmetro do local planner?
P.S: Nuns videos que eu vi (do robot ignite academy), falam de um global planner mas no entanto neste launch file do turtlebot3 não existe, porquê?
Quando tentei lançar o comando roslaunch turtlebot3_gazebo turtlebot3_world.launch, o terminal queixa-se que o package não é um launch file name. Portanto suponho que a package turtlebot3_gazebo desapareceu, não sei como.
Já procurei por este erro, e tentei instalar o turtlebot3 e o gazebo outra vez mas sem sucesso.
Alguma hint do que poderá ser o problema?
P.S: no entanto existe a pasta turtlebot3_gazebo dentro do turtlebot3_simulations, não sei se isso tem alguma coisa a ver
Obrigado desde já,
Vasco Nunes
No caso do gmapping, é necessário definirmos só as transformadas entre o laser_scan_frame e o base_scan ou temos de definir todas as transformadas através do joint_states?
No rviz está-nos a dar este erro:
Devemos preocupar-nos em ter o robot model sem erros nenhuns? Ou seja tratar das transformadas entre todas as frames do robô?
Criei um tf listener para a partir do topico tf saber a distancia entre o mocap_laser_link e o laser_frame do turtlebot no entanto não estou a conseguir ter essa informação pois eles não se encontram na mesma tf tree.
frames.pdf
Estivemos agora no lab para testar com os turtlebots mas não existe a rede usada durante a aula. Assumo que tenha sido uma rede criada e que não é permanente.
Como fazemos para nos conectar não existindo essa rede?
Agradecido,
José Castelo
Some of you have mentioned that you would prefer to use python.
According to nav_core wiki the global planner needs to provide a nav_msgs/Path message to the local planner.
The benefit of using C++ is that a lot of features, such as all the parameters for global planners, work out of the box. But for this project you can definitely do without it.
There's a few more things to consider. You need to subscribe to the global costmap. It is provided once in full, then it provides updates in another topic. You can make it always provide the full costmap to make your life easier ( see this parameter ), but be careful because this is a lot of data very frequently, make sure your PC is both publishing and receiving the costmap, so that the robot never receives it through wifi.
You will have to search for a python library to deal with costmaps, but they are basically OccupancyGrids so you have to deal with them anyway for your planner.
roscore
, roslaunch turtlebot3_bringup turtlebot3_robot.launch
and roslaunch turtlebot3_bringup turtlebot3_remote.launch
on the robot
Check everything ok with rviz on your computer. Then close rviz so there's nothing being sent over the network.
Use rosbag record --help
to see recording options. You need the following topics:
/odom
/scan
/tf
/tf_static
(Optional) You may want to see a map being built (e.g. with gmapping
) while recording. In this case, beware that you will have a map -> odom
TF being published on /tf. You will have to post-process the bag, removing it. You can use this script to remove all transforms from/to frame map
. Remember to also save your map after, with map_server
We tried to generate some bags of the robot on the corridor of floor 5. However the WiFi connection for the IR-turtles network fails on the other side of the floor. Since there is no connection the recording of the bags is impossible.
Quando corro o ekf_localization.launch ele dá um erro de ICP did not converge, eu não estou a conseguir resolver isso, e não mostra nada no Rviz.
É alguma configuração que preciso de alterar?
Hello,
Is there any (quick) way to create a world map from a .yaml map, to use with gazebo?
Thank you.
Boas,
Está-me a dar este erro estranho (deve ser sobre o costmap) quando tento compilar o planner que implementei de acordo com o tutorial:
/opt/ros/kinetic/include/costmap_2d/observation.h:36:29: fatal error: pcl/point_types.h: No such file or directory
No makefile simplesmente adicionei esta linha como estava no tutorial (pus o path todo):
add_library(rdt_planner_lib /home/vasco/catkin_ws/src/proj2/src/rdt_planner.cpp)
Por agora assim é como eu tenho o planner criado só para testar:
Agora não percebo é o erro da primeira imagem acima, será que tenho de implementar alguma coisa no initialize_method? Segundo o tutorial do ros, deixaram aquilo em branco por isso não seria preciso, acho eu.
Obrigado desde já.
Temos um offset de 25 cm entre o mocap_baser_link e o laser_frame. Quando mudamos para o base_link diminui para 15 cm. O que é que suposto fazermos para deixar de ter este offset, ou seja, que frames é suposto usarmos ou transformações que temos de adicionar/alterar. Nós estamos a correr a transformada do script publish_initial_tf.py
Boas, estamos a conseguir comunicar do c++ para o python e vice-versa, só que estamos com este erro estranho:
Ele está de facto a calcular o path correctamente no python (lado esquerdo) e a mandar para o c++ (lado direito) como se pode comprovar, mas depois existe este erro da tf. Ao princípio pensei que fosse por não estar a definir a orientação das poses (apesar de ser irrelevante) mas mesmo metendo a orientação continua com o mesmo erro.
Porque será que isto acontece?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.