Week 6 (3rd Period)

Week 6 (3rd Period)

  • Catarina Caramalho
  • Tiago Teixeira
  • 3rd Period - Weekly Progress
  • March 24, 2024

3D Localization

When trying to simulate both algorithms, the students faced two problems. Firstly, MCL3D proved to be incompatible with the ARM64 architecture, and one of the group members had a computer with this specification. The second problem was limited computing power. That is, when running the algorithms with Gazebo and Rviz simultaneously, the system’s performance became excessively slow.

Initially, it was tried to get over the computational power issue by using Rviz on its own, i.e. without the graphics component (gazebo_gui:=false). However, this approach proved unsuitable, since checking the robot’s current position was a complicated task. So the solution adopted was to use a remote computer from SocRob@Home, whose computing power is significantly higher than the team members’ computers, and which also solved the problem of the computer architecture incompatibility.

Thus, it was time to start the simulation tests, in which various experiments were performed. Firstly, the decision was made to trace the same route manually using both algorithms, in order to guarantee maximum impartiality in the tests. This decision was made because it was impossible for MCL3D to use the Rosbag generated by the Mapping task. However, the students soon realised that this approach did not provide very accurate results, which led them to a new idea. Since the MCL3D didn’t support the execution of rosbags, they decided to record a rosbag running this same algorithm and then apply that rosbag to the HDL. This way, the path travelled by the robot was exactly the same for both algorithms, allowing for more precise measurements.

→ HDL Localization

The gif below shows the HDL algorithm being tested in simulation. The red points represents the sensor reading, and the aim is for this area to overlap the map as much as possible.

HDL Localization
Figure 1 - HDL Algorithm tested in Simulation.

Visually, HDL shows adequate and consistent behaviour.

→ MCL3D

The image below illustrates MCL3D being tested in simulation.

HDL Localization
Figure 2 - MCL3D Algorithm tested in Simulation.

Based on what has been explained previously, it is clear that this algorithm is not ideal for simulation. It appears to be very unstable and shows constant dislocalizations, meaning that the robot doesn’t have a precise idea of its localization.

2D Path Planning/Guidance

This week, our objective was to modify the poincloud_to_laserscan node . The aim was to dynamically adjust the maximum height variable, which sets the limit for the Ouster 3D points used in converting to 2D obstacles. Instead of a static value, we wanted it to be calculated based on the robot’s height.

We tried determining the robot’s height by using the z-value of the transform from the head frame to the base frame. However, we encountered some errors related to the frames names, which impeded us from obtaining a correct value.

Robot Model
Figure 3 - Robot Model.
Robot Frames
Figure 4 - Robot Frames.

Related Posts

Week 2 (3rd Period)

Week 2 (3rd Period)

  • António Morais
  • 3rd Period - Weekly Progress

3D Mapping → A-LOAM In the context of the Mapping module, our team’s objective was to deploy the A-LOAM algorithm, and subject it to comprehensive testing in a simulated environment.

Read More
Week 4 (4th Period)

Week 4 (4th Period)

  • João Carranca, Catarina Caramalho and João Pinheiro
  • 4th Period - Weekly Progress

2D Path Planning/Guidance This week, testing with the real robot in a real environment commenced to assess the replication of simulation results in the physical world.

Read More
Week 5 (4th Period)

Week 5 (4th Period)

  • António Morais
  • 4th Period - Weekly Progress

Final Tests This week, final tests commenced. The tests proposed by the team and scheduled for execution include Navigation in the testbed:

Read More