Wishlist
- Connection to UsarCommander
- ROS-nodes working for platform, arm, laser scanner and ins.
- Connection to playchess
Started
Labbook 2024.
December 5, 2023
- The webinar of today on ROS NITROS is based on ROS2 benchmark
- Copying the GPU-buffers between ros-nodes is compatible with often used tools as RVIZ and FoxGlove.
- No performance numbers on Nvidia Jetson Nano's, only for Orin and Xaviers.
- The first demo can be found here. It is based on ROS Humble.
- In the 2nd demo a rosbag was used, and processed in a pipeline with a encoder - pose-estimation - decoder, where the middle-node was completly nitros based.
- The pose-estimation was DOPE, with it's code here. This example was upgraded to a NITROS version.
October 23, 2023
- Nice new challenge: Robot Runners. Unfortunatelly I had not seen the warm-up round, and the (extended) deadline is quite short.
September 20, 2023
June 13, 2023
- The VitoRover is claimed to be great as Educational robot. A bit expensive for that, but great for outdoor experiments.
March 23, 2023
- In this Master thesis first a summary of robot navigation, robot platforms and simulation platfroms are given, before some experiments with Nvidia Isaac inside a warehouse are performed.
- The Nvidia Carter has a two wheeled version 1, and a four wheeled version 2.
- Note that they mention in this post that the bridge between Isaac SDK and Isaac Sim is depreciated, because they now focus on ROS gems.
February 14, 2023
February 13, 2023
- Last August the ROS2 update of Hokuyo driver was released.
January 26, 2023
- If I read September 2022 notes correctly, the ros_hokuyo_urg04lx_description should also work natively on ros-melodic.
- Did on nb-ros source /opt/ros/melodic/setup.sh followed by source ~/catkin_ws/devel/setup.sh.
- Simply roslaunch ros_hokuyo_urg04lx_description urg-04lx.launch failed on urg-04lx.xacro not found, but that was something I fixed yesterday.
- Did a git pull followed by a catkin_build. One package fails, but that is minkindr_conversions (no idea where I needed that package for).
- Everything works fine, except rosrun rviz rviz -d rviz/urg_scan_and_model.rviz. This command works also fine, but requires both melodic/setup.bash and devel/setup.bash.
January 25, 2023
- Inspected my environment at nb-ros. I have in my home a directory ~/mambaforge, which was installed on September 27.
- Did mamba list, but all package are from conda-forge (none of robostack).
- The suggestion from issue is to start from scratch, but if they mean conda install mamba -c conda-forge. The mamba create -n robostackenv ros-noetic-desktop python=3.9 -c robostack-staging -c conda-forge --no-channel-priority --override-channels seem more appropriate.
- First tried conda activate robostackenv. Now mamba list | grep robostack gives a long list.
- First did mamba update ros-noetic-rviz, but that only updated ca-certificates and openssl from conda-forge.
- Doing an update with channel -c robostack-staging says that nothing has to be done.
- So, deactivate the environment and doing mamba create -n robostackenv ros-noetic-desktop python=3.9 -c robostack-staging -c conda-forge --no-channel-priority --override-channels. mamba reports that a environment with this name already exists, and asks if it is OK to remove the old environment. Said YES.
- Activated the environment with mamba activate robostackenv. Tried rosrun rviz rviz. The yaml-error is no longer there, but rviz still doesn't startup:
Qt: Session management error: None of the authentication protocols specified are supported
[ INFO] [1674638156.396456201]: rviz version 1.14.19
[ INFO] [1674638156.396496879]: compiled against Qt version 5.15.6
[ INFO] [1674638156.396510306]: compiled against OGRE version 1.10.12 (Xalafu)
- Yet, after a while I got a dialog window that roscore is not running. So tried again, this time with roscore running in an other terminal. It takes quite some time before I see Done checking log file disk usage. Yet, a bit later I get the error message (from core):
RLException: Unable to contact my own server at [http://192.168.0.148:33203/].
This usually means that the network is not configured properly.
A common cause is that the machine cannot connect to itself. Please check
for errors by running:
ping 192.168.0.148
For more tips, please see
http://wiki.ros.org/ROS/NetworkSetup
The traceback for the exception was written to the log file
- Checked the ROS-environment variables. Indeed, ROS_HOSTNAME=192.168.0.148 is used (while connected to uva-network)
- Looking how the environment configures the environment. In ~/mambaforge/envs/robostackenv/setup.sh a call is made to ros_setup_util.py.
- The variable ROS_MASTER_URI is mentioned in ~/mambaforge/
envs/robostackenv/etc/catkin/profile.d/10.roslaunch.sh, but this is not the place of definition.
- The variable ROS_MASTER_URI is also often mentioned in ~/mambaforge/
envs/robostackenv/lib/python3.9/site-packages/ros*
- Anyway, defined ROS_MASTER_URI as recommended in ROS Network Setup: export ROS_MASTER_URI=http://localhost:11311.
- Now I get a new error (for roscore!):
~/mambaforge/envs/robostackenv/lib/rosout/rosout: symbol lookup error: ~/mambaforge/envs/robostackenv/lib/rosout/../libroscpp.so: undefined symbol: _ZTIN5boost6detail16thread_data_baseE
- Reported this back again at RoboStack issue.
- This was quickly solved. I have now ros-noetic with rviz running on a Ubuntu 18.04 machine:
- Found that I set ROS_MASTER_URI myself in my ~/.bashrc (to work with the TurtleBot3. After switching this off, ROS_MASTER_URI is set by robostackenv) (and ROS_HOSTNAME is still unset). No ROS-environments are set in my vanilla bash-environment.
-
- Continue with ros_hokuyo_urg04lx_description.
- First command mamba install ros-noetic-ros-base -c robostack-staging gives all requested packages already installed. Same for ros-noetic-rviz, ros-noetic-xacro, ros-noetic-robot-state-publisher and ros-noetic-joint-state-publisher-gui.
- As in September 27, 2022, nothing provides requested ros-noetic-urg-node.
- Made ~/mambaforge/catkin_ws/src and cloned urg_node (default branch, which is kinetic-devel). Also cloned laser_proc and urg_c.
- The build gives some warnings (Compatibility with CMake before 2.8.12 will be removed - warning from /usr/src/googletest/CMakeLists.txt).
- An error is generated for the laser_proc package. The suggestion is to define BOOST_BIND_GLOBAL_PLACEHOLDERS
- Also building ros_hokuyo_urg04lx_description fails on:
File "/usr/bin/catkin", line 6, in
from pkg_resources import load_entry_point
File "/home/arnoud/mambaforge/envs/robostackenv/lib/python3.9/site-packages/pkg_resources/__init__.py", line 1435
raise SyntaxError(e) from e
- Installed catkin_tools in mamba, as suggested RoboStack. That solved the latter error. The one in the laser_proc is solved by adding add_definitions(-DBOOST_BIND_GLOBAL_PLACEHOLDERS) to src/laser_proc/CMakeLists.txt. Remaining error in laser_proc package is:
/home/arnoud/mambaforge/envs/robostackenv/lib/librosconsole.so: undefined reference to `std::__cxx11::basic_ostringstream, std::allocator >::basic_ostringstream()@GLIBCXX_3.4.26'
- If I look into my mamba list, the glib is defined as v2.74.1, while here 3.4.26 is used.
- This seems a general issue in Ubuntu 18.04. When doing strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4.2[5-9] only GLIBCXX_3.4.25 is available.
- Doing the suggested sudo add-apt-repository ppa:ubuntu-toolchain-r/test followed by sudo apt upgrade libstdc++6 solved this; now GLIBCXX_3.4.26 is available and the catkin build of laser_proc succeeds.
- Also added add_definitions(-DBOOST_BIND_GLOBAL_PLACEHOLDERS) to /src/urg_node/CMakelists.txt to remove the Boost warnings. Now only warnings of the /usr/src/googletest/CMakeLists.txt remains.
- Also updated the cmake_minimum_required(VERSION) from 2.6.2 to 2.8.12 for the googletest files.
- Also updated it from 2.8.3 to 2.8.12 in ros_hokuyo_urg04lx_description, so now all four packages are build without warnings.
- Checked with dmesg | tail that the sensor was connected via /dev/ttyACM0. After sudo chmod o+rw /dev/ttyACM0 the command rosrun urg_node getID /dev/ttyACM0 the device ID.
- The urg_lidar_serial.launch used /dev/ttyUSB0, so created a urg_lidar_serial.launch (to be committed).
- This seems to work fine: the "Streaming data" message is given.
- Yet, the command roslaunch ros_hokuyo_urg04lx_description urg-04lx.launch fails on missing ./xacro/urg-04lx.xacro. This file is present in src, but should also be added to the build environment. Checked the CMakeLists.txt, but the ./xacro is part of the install.
- Added a find description to the launch. That works, the robot_state_publisher is started. I only get a warning on the root link:
[ WARN] [1674658211.230490544]: The root link laser has an inertia specified in the URDF, but KDL does not support a root link with an inertia. As a workaround, you can add an extra dummy link to your URDF.
- Also launched rosrun tf2_ros static_transform_publisher 0 0 0 0 0 0 map laser (only with mamba activate robostackenv)
- In the fourth terminal started rosrun rviz rviz -d rviz/urg_scan_and_model.rviz. Model starts without RobotModel. Added Robot model and changed the Robot Description to /laser/robot_description.
- Last addition is to add a LaserScan to rviz, with as topic /scan. That seems to work fine:
January 24, 2023
January 21, 2023
- Checked the motion detection with a mask. At night, there can be some reflections in the window from inside. Rain can also trigger the detection. Also saw some triggers on somebody passing on the sidewalk, but most triggers were OK.
- Sorted the movies on size. The one with 410Kb was too short, 800 Kb became informative.
Previous Labbooks