- Find the latest software from endgame and recompile.
- See if it is possible to recompile as 32bits.
- Find the data-files that belong to task1, task2 and task3.
Remove arm_stop(0) print. (Solved March 24, 2022)
February 28, 2025
- We have a problem with the TurtleBot3. The topics are visible on the robot itself, but not on the remote PC (both WS7 and WS9).
- Looked at this issue, where they have the same problem with the TurtleBot4. They solved it with a wired connection (also my suggestion), but also showed some additonal variables such as the ROS_DISCOVERY_SERVER.
February 12, 2025
- Created a swapfile from 2Gb, as suggested here.
- Actually, there was no swapfile, so the commands created a new one. Checked if the swap was active with cat /proc/swaps.
- Used the suggested colcon build --symlink-install --executor sequential --parallel-workers 1. Compiling the ld08_driver still takes more than 5 minutes. At the end it succeeded, after 8m52 of building time.
- Moved the original turtlebot3_node back into ~/turtlebot3_ws/src/turtlebot3, to see if this also works (although that would mean both a system install and workspace install). Build it with the option --packages-skip-build-finished.
- The build failed, but that was because yesterday I only updated the g++ alternative, not the c++ alternative. Did sudo update-alternatives --config c++ to select the default g++-11. Tried to build again. Build succeeded after 14min32.
- Continued with the rest of the setup. Added the ROS_DOMAIN_ID=30, LDS_MODEL=LDS-01, TURTLEBOT3_MODEL=burger and the RMW_IMPLEMENTATION=rmw_fastrtps_cpp into the ~/.bashrc of the SBC. The ros2 launch turtlebot3_bringup robot.launch.py looks good, with the both all expected services (ros2 service list) and topics (ros2 topic list) visible at the SBC. Yet, that is not the case on the PC, although I am in the same network and also RMW_IMPLEMENTATION=rmw_fastrtps_cpp (and sourced both setups, and defined all ENV variables). Once I saw the expected services.
- Worse, the keyboard control nicely starts up, but the wheels are not moving. Should I do a firmware setup?
- Tried the OpenCR test, but the wheels do not respond on the two test-buttons. Changed battery, no effect. Should I test without the Raspberry Pi connected to power?
- Tried to remote login, but the ssh-server is not running. Should follow instructions at FAQ.
-
- Joey tested the OpenCR board of Turtle1, and saw that the left motor is broken. Probably the yellow warning leds on the OpenCR board indicated that - no they are also active when the turtlebot3_node is started. The motors itself should also give a led-flash during booting.
- On Turtle3 I could do the teleop_keyboard test (on the SBC).
- Added Turtle3 to LAB42 via iotroam.
- Solved the ssh-issue by modifying the /etc/ssh/sshd_config on the SBC, as indicated here.
February 11, 2025
- Tried another approach, and tried to install the packages instead of building them. Was not able to install the ld08-driver.
- Yet, sudo apt install ros-humble-turtlebot3-node works.
- Moved the turtlebot3-node away from my source, and tried colcon build --executor sequential --symlink-install
- The ld08-driver now seems to hang at 83% (more than 2 minutes). Yesterday this worked, so try maybe add --parallel-workers 1. Retried after five minutes. With only one parallel worker it seems to hang at 50%.
- Rebooted (and put the power of the control-board on this time).
- g++ was still configured as g++-9, so upgraded to the default g++-11.
- Gave the command that worked yesterday, still building ld08-driver seems to hang at 66%. In the log I still saw the '-j 4' argument given to cmake.
- Stopped again after 5 minutes.
- Tried colcon build --symlink-install --parallel-workers 1, which builds all five turtlebot-packages from source: turtlebot3_description, turtlebot3_example, turtlebot3_teleop, turtlebot3_bringup, turtlebot3.
- So, only ld08_driver keeps hanging on 66%. Maybe next time use the option --packages-skip-build-finished (from colcon documentation. For now, let run for more than 5 minutes, see what happens.
- I am not the only one with this problem, should try (tomorrow) increasing the swapfile from 1Gb to 2Gb, as suggested here.
February 10, 2025
- Tried colcon build --symlink-install --parallel-workers 1 again in turtlebot3_ws, as specified in documentation, but the process seems stuck at 28% of the turtlebot3_node.
- Found this page with speed-up tricks.
- Looked into log. Still 4 parallel jobs are started. Used the command specified in commands.log, replaced '-j 4' with '-j 1' and added '--debug=INFO'. Now the compilation goes further than 28% (diff_drive_controller is built).
- Yet, now the process is hanging on 42%, building CMakeFiles/turtlebot3_node_lib.dir/src/odometry.cpp.o.
- Manually created the command to compile odometry.cpp, but after solving all includes, still see no progress. The odometry.cpp is made from assembly, but moving it away didn't solve this issue.
- It looks like c++ is trying to do multi-treat compilation. Commented out the major part of odometry.cpp. Now it compiles. Tried again, with only the constructor. That fails. Everything with an empty constructor, that works. Tried the constuto up-to QoS-call - still works. Only the use_imu-if-def removed - still works. Commented the else-branch out - fails. If-branch out, should work - no it doesn't. Modified odometry with use_umi removed, look if the colcon-build continues. That seems to hang again. Trying the command with '-j 1'. Now odometry is compiled - continues wiht turtlebot3.cpp. Strange, nothing special in the use_imu branch.
- Same problem with turtlebot3.cpp. With everything except the constructor it compiles, also when adding the break just above run(), cmd_vel_callback() fails, parameter_event_callback works again. Moving the #endif up, adding only cmd_vel_callback again().
-
- Tried to compile on ws9, but rclcpp/client.hpp fails on #include . Tried different c++ definitions, but still fails. Not clear in which package it should be.
- Should check on a Ubuntu 20.04, instead of 22.04 version. Problem was different, I had g++ still configured on version g++-5.
- Now it goes wrong on ws9 on go2_interfaces. Moved those to ~/simulated_turtlebot_ws. Now the compilation works on ws9, only get a warning about Findboost. Corrected that by raising the cmake_minimum_required from 3.5 to 3.30. Still a warning about an unused parameter, but that is all.
-
- One last option I could try is to use another version of c++. Currently the Raspberry Pi uses 11.4.0. Looked at Legacy packages and installed g++-9. That gave many errors in rclcpp callbacks, so that is not the solution.
- Only other option that I see is the heuristics that gcc uses: --param gcc-min-expand --param gcc-min-heapsize
- The command g++-9 --std=c++17 is able to compile odometry.cpp (not full original yet). Trying it also for turtlebot3.cpp. That takes also too long. Next option is try again with a Jetson Nano.
February 7, 2025
- On July 13, 2023 I downloaded a ROS2 foxy image from robotic.com
- Couldn't find a direct list of version to be downloaded. I am not alones, see this post.
- Yet, it seems that TurtleBot emanual is the best place to start. Note that there is now also support for Raspberry Pi-4 and Jetson Nano.
- The video mentions ROS melodic, which is a ROS1 version for Ubuntu 18.04, which EOL with Ubuntu Bionic in 2023. ROS Noetic will have EOL together with Ubuntu Focal in May 2025.
- Yet, there is now a ROS2 Humble setup.
- Overwriting the 64Gb card that was in my-security Raspberry Pi. Installed the pi-imager on ws9 and start overwriting the card (Ubuntu 22.04.5 LTS for RPI Zero 2W/3/4/400. The Turtle has a Rasperry Pi 3 B+.
- Didn't see the Turtle1 in my iotroam-list (yet). Added the hardware-address to list and could connect to LAB42. (*.*.*.17)
- Prepared the ROS-Humble install (updating 80 packages first).
February 6, 2025
- Looked around for updates on the TurtleBot. Was working on it on June 19, 2023. First have to find a good memorycard.
- The ugvRover has a memorystick writer, so looking for the card. According to Rover documentation, the Rover is shipped with a configured hard-disk (SSD in its M.2 slot).
Previous Labbooks