Started Labbook 2022.
December 15, 2021
December 14, 2021
- Seems that I finished Using Python for Research course nearly completely. The only case study which is open is Network homphily.
- For the course Autonomous Mobile Robots I always used the slides from Davide Scaramuzza (2012).
- Recent version of the slides can be found at the course Vision Algorithms for Mobile Robotics (2021)
- In his first lecture Davide nicely introduces the biological background and some history.
- As literature he not only recomment chapter 4 of his book, but also Computer Vision: Algorithms and Applications (2nd ed, 2021).
- The book has some nice overviews of computer vision algorithms from the 70s, 80s, 90s, 00s and 10s.
- Also like the color-space example on page 99.
- I also like the binary image morphology example at page 138, including equations on the next page.
- And the basic set of 2D geometric image transformation at page 169.
- For this course chapter 3 is enough. When I have time, I should read chapter 5 (Deep Learning).
- It would be interesting to see if I could solve Excercise 01, to draw a virtual reality cube on a chessboard, with ros2-tf instead of Matlab.
June 16, 2021
- Martijn Wisse his bioinspired robotics is inspired by Friedman's work, which claims that learning the minimalisation of surprise is. The work of Friedman is summerized by Bennie Mol in De KIJK
February 24, 2021
- Read the article Do Robots Have Race?. The article claims that cultury speaking, robots have typically White bodies but Black souls.
February 22, 2021
- Read part of the book Who needs emotions?: The brain meets the robot from Arbib. The complete Table of Contents is available from Oxford University Press.
- On page 7, the philosopher 'Russell' concludes: "At this level, we can ask whether the roboticist learns to make avoidance behavior more effective by studying animals. And it is interesting to ask if the roboticist's efforts will reveal the nearal architecture as in some sense essential when one abstracts the core functionality away from the neuroanatomy, an abstraction that would be an important contribution. But does this increment take us closer to understanding human emotions as we subjectively know them or not?".
- On page 10 Ralph Adolphs says: "we need to engineer an internal processing architecture that goes beyond merely fooling humans inot judging that the robots has emotions".
- Unknown to me, but also relevant for learning, is the 2D emotional space designed by Rolls (1999) of presence or omission of reinforcements: presentation of reward (pleasure), presentation of punishment (fear), witholding of reward (anger, frustration, sadness) or witholding of punishment (relief)
January 28, 2021
- My hypothesis is that the SitDown and WalkTo not fails on the version of Webots / Naoqi persé, but that in older Webots versions the default Nao-model was a version 4, instead of the V5 of Webots 2021.
- The Nao models can be found in /usr/local/webots/projects/robots/softbank/nao/protos.
- The Nao.proto has many version checks (3.3 or 4.0 or 5.0). The file NaoLeftWristH21.proto is a version 4.0.
- The call with the model name is SimLauncher, with the name provided with Singletons::initialize. This name is found with wb_robot_get_model(), which according to the documentation should read the model field of the robot node of the world file. Yet, the world file naoqisim_indoors.wbt doesn't have a robot node, only a node called Nao (without model field).
- Will first try to modify Nao.proto (v4.0 instead of v5.0), before I try to rename the Nao node.
- That works, the pretty name is now NAO H25 (V40). Tried several combinations of version and degree of freedoms, but both the SitDown and WalkTo failed.
- For WalkTo the main problem seem to to be Left Leg max leg length: compute torso height failed.
- In 2015 one had the same problem with nao_gazebo, which was solved with a patch on 16 mrt 2015 by costa.
- The trick seems to be to initialize the encoders with the current values.
- In naoqisim/controllers/naoqisim the same angleSensors are used in Motor.cpp. Yet, in Motor::update() the senosr is updated with the actuatorValue.
- The gazebo plugin explictly specifies NAOH25V40 as model type, and loads the xml from ../../aldebaran/simulator-sdk/share/alrobotmodel/models/. In the NAOH25V40.xml no torso height is specified.
- The C++ NaoQiSim is described in version 1.14 and version 2.1. Cannot find this software in former-versions.
- On my old nb-dual partition I have simulator-sdk-1.14.5-win32-vs2010.zip, but that also only contains the lib and include. In addition, I have a a NAOsim-1.10.3-WIN32.exe and 1.14.1/webots-for-nao-7.1.0_setup.exe. On my linux-partition I only have choregraphe, C++ and python sdks.
- The nao_gazebo plugin was designed for ROS Hydro, so that would require a Ubuntu 12.04 machine. Luckely my nb-ros (14.04), still has /opt/ros/hydro/setup.sh
January 25, 2021
- Downloaded all 4 Linux 2.1.4 versions from former-versions.
- On my workstation, PYTHONPATH was pointing to ~/packages/pynaoqi. Moved that version to ~/packages/pynaoqi-2.8.6.23
- The python.exe that I use is the Anaconda 2.7.16 version. Checked the architecture with the trick from stackoverflow: import struct; print struct.calcsize("P") * 8.
- Yet, on December 21, I could move the robot from StandZero to StandInit, so I should try to SitDown, StandUp and WalkTo first with the combination Webots 2021 and pynaoqi-2.8.6.23 (Daniel had reported that StandUp didn't work for Linux).
- Starting naoqisim_indoors.wbt gave some suspicious core.lib.launcher errors:
Could not load library: "~/git/naoqisim/aldebaran/simulator-sdk/lib/naoqi/libmodularityperception.so"
Could not load library: "~/git/naoqisim/aldebaran/simulator-sdk/lib/naoqi/libnavigation.so"
Could not load library: "~/git/naoqisim/aldebaran/simulator-sdk/lib/naoqi/liballocalization.so"
- Did a check with file liballocalization.so;ldd liballocalization.so, but it seems that it is a 64bits library, but this git-library should be added to LD_LIBRARY_PATH.
- Defined both HOME variables with export WEBOTS_HOME=/usr/local/webots and export NAOQISIM_HOME=~/git/naoqisim/aldebaran/simulator-sdk and defined the library path with export LD_LIBRARY_PATH=$WEBOTS_HOME/lib:$NAOQISIM_HOME/lib/naoqi. Used the trick from linuxuprising and added sudo add-apt-repository ppa:linuxuprising/libpng12; sudo apt install libpng12-0. No warnings anymore, seems that the system is ready to go.
- Used Choregraphe 2.1.4 to connect to Webots. That works.
- Gave the command to SitDown. The robots start to sit, stops before finished, gets partly up again, and freezes while trying to sit again.
- In the Webots console I see warnings:
packagemanager: getPackages deprecated.
vision.videodevice....
- Defined a new variable with export NAOQI_HOME=~/packages/pynaoqi-2.1.4.13 followed by export LD_LIBRARY_PATH=$WEBOTS_HOME/lib:$NAOQI_HOME:$NAOQISIM_HOME/lib/naoqi. Note that pynaoqi-2.8.6.23 had it its PYTHONPATH set to ./lib/python2.7/site-packages
- For version 2.1.4 import naoqi fails on libboost_regex.so.1.55.
- Could also have added the libraries from Choregraphe Suite 2.1 (/opt/Aldebaran\ Robotics\Choregraphe\ Suite\ 2.1\lib to my library path.
- Next failure is on libicuuc.so.52. Downloaded the amd64.deb from ubuntu (is part of the depreciated Ubuntu 14.04, so not directly available in package search.
- Installed sudo dpkg -i ~/Downloads/libicu52_52.1-3ubuntu0.8_amd64.deb and import naoqi works.
- Yet, now webots fails on a libGL error: failed to load driver: swrast.
- Did a check on webots with ldd /usr/local/webots/bin/webots-bin. Complains on that the version of Qt is not 5.15, while the libQt5Core.so.5 could be found. Changed the LD_LIBRARY_PATH to $WEBOTS_HOME/lib/webots and the ldd works (but still the same libGL error).
- According to the December 9, that seems to be a nvidia-driver problem. Installed nvidia-driver-460 and nvidia-utils-460. Had to reboot.
- Now webots starts again.
- Sitting down gives the same error.
- MoveTo does nothing (gives a number of errors):
- ALMotion.alwalktorsoheight: Left Leg max leg lengL compute torso height failed.
- ALMotion.AlWalkComMPC: Error in compute of CopConstraint
- motion.almotion: walk preview. Error QP.
- ALMotion.AlWalkComMPC: Error in compute Com Trajectory X
- ALMotion.AlWalkComMPC: Error in compute Com Trajectory Y
- AutonomousLIfe: Robot body is in protected state
- ALMotion.ALBalancerWalk: Cartesian motion is infeasible for one leg.
- The PostureManager error during SitDown is from aldebaran/simulator-sdk/lib/libposturemanager.so.
- Changed controllers/naoqisim/Nao.cpp and added line 29: cout << "Created Nao with the pretty name: " << model->prettyName(2) << ".\n";. Output was Nao H25 (V50).
- In aldebaran/simulator-sdk/share/alrobotmodel/models also other models can be found, such as NAOH21V40.xml.
- The NAOH25V50.xml is loaded in aldebaran/simulator-sdk/dummysim/dummysim.cpp
- Removed all services that rely on sound and consequently almodularity in aldebaran/simulator-sdk/etc/naoqi/autoload.ini.
- The model is loaded by the name "Nao", which seems to loads the definition from /usr/local/webots/projects/robots/softbank/nao/proto/Nao.proto
January 11, 2021
- Switched all robots to NaoQi, switched all NaoLife off, put all volume on 50%, allowed all robots to switch off fall-reflexes.
- Sam has NaoQi 2.8.5.10, Moos, Phineas and Ferb have NaoQi 2.8.5.11.
-
- The provided code fails at the start of Quest I - Part 2 on self.motionProxy (on Mac and Linux, not on Windows), while the speechProxy works.
- Checking on nb-dual. Both WSL 18.04 and 20.04 had python2.7, but not conda installed.
- Followed the Linux installation instructions. import cv2 failed on libgtk2.0, which I solved with sudo apt install libgtk2.0-0.
- On Linux, pynaoqi 2.8.5.10 is downloaded, while three robots have 2.8.5.11. The installation works.
- The problem is the tabs when copying code from the pdf, which seems pdf-viewer dependent.
- I got Ferb, because it has the tendency to fall forwards. Was the same previous year.
-
- Looked at XPS M1730. There is Visual Studio 2010 and Microsoft.Net, but no v4.0.30319/MSBuild.exe
- According to this post, the required MSBuild.exe is in this Microsoft download. Yet, could find MSBuild.exe in this download (which I installed in C:\Programs\Windows\v7.1.
- When needed, also the v4.0 .NET Framework is still available for download.
- Yet, before I installed dotNetFx40_Full, I did a search for MSBuild.exe, and C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe is there (and at C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe).
- On the same location MSBuild.exe is presented at XPS M1730 (together with a v2.0.50727 version).
.
January 8, 2021
- Prepared v6 robots for on-campus practical. Switched to Linux-partition of my nb-dual. Changed wired setting to Local link only for both ipv4 and ipv6.
- Connected with moos.local, removed the dnt configuration by mv robocup.conf robocup.conf.dnt and rebooted.
- Disconnected and tried to connect to http://146.50.60.55/. Ping works, but I receive no webpage, nor can I login via ssh.
- Receive no response from ping phineas.local
- Try to find the ip with the scan sudo nmap -sS -p 22 169.254.*.*
- Couldn't find Choregraphe 2.8.6 anymore on the old version website, so downloaded 2.8.6.23 from the new website. Didn't go for the default location (with a lot of spaces), but instead installed the software in /opt/aldebaran/choregraphe_suite_2.8.6.
- Running Choregraphe from activities fails silently. Started choregraphe from the command line and got: /choregraphe_launcher
/opt/aldebaran/choregraphe_suite_2.8.6/bin/choregraphe-bin: /opt/aldebaran/choregraphe_suite_2.8.6/bin/../lib/libz.so.1: version `ZLIB_1.2.9' not found (required by /lib/x86_64-linux-gnu/libpng16.so.16)
- That is the same error I encoutered on December 21, which can be solved by sudo rm libz.so.1;sudo ln -s /lib/x86_64-linux-gnu/libz.so.1.2.11 libz.so.1. The libz.1.2.8 provided by aldebaran is too old for libpng.
- With Choregraph I saw that ferb was available as nao.local. Moved the robocup.dnt script and rebooted.
- Couldn't login to all three Nao robots wirelessly, but that was because my laptop was not connected to robolab.
- The webinterface is still has the wizardnext bug.
January 7, 2021
- Made a stub "string_utils.h" which works fine. Yet, still the same error Error: %1 is geen geldige Win32-toepassing.
(dynamic library)
Error: failed to load C:/Programs/Webots/resources/projects/plugins/robot_windows/generic/generic.dll library.
- Have the feeling that naoqisim is compiled as 32bits, to support Naoqi 2.1.4
- Try to compile this plugin also as 32 bits, otherwise I have to fall pack to 32bits python.
- Msys has both a 32bits and 64bits cmd window. Compiled generic.dll, but still fails to load.
- Trying to build naoqisim again from 32bits Msys window, by specifying MSbuild.exe
- Couldn't add the full VS path to Msys, so copied msbuild.exe to /usr/bin.
- The command msbuild naoqisim.sln /verbosity:minimal /property:Configuration=Release, starts, but clearly some parts are missing:
Onverwerkte uitzondering: System.TypeInitializationException: De type-initialisatiefunctie voor Microsoft.Build.CommandLine.MSBuildApp heeft een uitzondering veroorzaakt. ---> System.IO.FileNotFoundException: Kan bestand of assembly Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a of een van de afhankelijkheden hiervan niet laden. Het systeem kan het opgegeven bestand niet vinden.
bij Microsoft.Build.CommandLine.MSBuildApp..cctor()
--- Einde van intern uitzonderingsstackpad ---
bij Microsoft.Build.CommandLine.MSBuildApp.Main()
-
- Trying win32 Naoqi 2.1.4 on the Windows partition of my desktop (clean install).
- Installing opencv3 failed because of conflict, but first conda install -c menpo numpy followed by conda install -c menpo opencv3
- Skipping the IDE, going directly to download webots.
- This time I selected only for me, but install it in C:\programs\Webots.
- Tried to load C:\Programs\Webots\projects\samples\robotbenchmark\visual_tracking\worlds\visual_tracking.wbt, but Webots requires a 64bits version of python2.7. Checked cmd, but it couldn't find python as installed by Anaconda.
- Changed the order. With Anaconda on top this works, but still visual_tracking requires the 64bits version.
- On naoqisim is indicated that it is tested for Webots2018a. The oldest Webots version still available is 2019a. Downloading this version.
- The robot-window that cannot be opened seems to be general bug.
- Note that naoqisim gives the following warning:
macOS Support
SoftBank Robotics dropped the simulator SDK support for macOS since the 2.1.2.17 version. Webots includes this latest version for macOS, however it doesn't work on recent macOS versions.
- Unfortunatelly, the setup doesn't ask where to install, so R2019 is also installed in C:\Program\Webots.
- Failed to start, so I deleted the Webots directory. Still, the install knows that a version is still installed, so it also made some modifications in the registry.
- Still the same error, so going to 32bits python didn't help.
-
- Going to try to install Webots on WSL.
- On my home computer I only have Ubuntu 18.04, so I will move back to my workstation.
January 6, 2021
- Testing the Windows setup with NaoQi 2.5.
- Webots warned that I have no Nvidia GPU: Webots has detected that your system features an Intel GPU. A recent NVIDIA or AMD graphics adapter is highly recommended to run Webots smoothly.
- Shadows have been deactivated.
- Anti-aliasing has been deactivated
- Loaded C:\Programs\Webots\projects\languages\python\worlds\example.wbt, as indicated at python instructions.
- Received the error:
WARNING: "python.exe" was not found.
Webots requires Python version 3.9, 3.8, 3.7 or 2.7 (64 bit) from python.org in your current PATH.
To fix the problem, you should:
1. Check the Python command set in the Webots preferences.
2. Check the COMMAND set in the [python] section of the runtime.ini file of your controller program if any.
3. Fix your PATH environment variable to use the required Python 64 bit version (if available).
4. Install the required Python 64 bit version and ensure your PATH environment variable points to it.
- Python 2.7 can be found in the Anaconda2 cmd prompt, but not in a regular Windows cmd.
- Added %USERPROFILE%\Anaconda2 to my path. Python can now be found, an import cv2 gave an ImportError: DLL load failed.
- Added %USERPROFILE%\Anaconda2\Library\bin to my path. import cv2 works, and import numpy also.
- Also tried C:\Programs\Webots\projects\samples\robotbenchmark\visual_tracking\worlds. That sample also works:
- The naoqisim requires a make and compiler. They suggest msys and Visual studio, but I will also look at the Chocolatey option.
- choco is great to install make, git and wget. From Powershell this commands now work, although g++ could not be installed. yet, this seems all depend on msys.
- Note that webots is including msys directory and g++ executables.
- Typing make in the powershell failed on the Makefiles of soccer_vision and challenge_solver. This is due to the definition of WEBOTS_HOME_PATH, which should remove extra spaces but actually adds one.
- Compilation now fails on a missing g++.
- Created in PowerShell the alias New-Alias which get-command. Checked to locations of the installed tools.
C:\ProgramData\chocolatey\bin\make.exe
- Alias wget -> Invoke-WebRequest
- git not known
- Now I have to add C:\Programs\Webots\msys64\mingw64\bin to my path in PowerShell. Tried $env:Path += ";SomeRandomPath"
- Make fails now on soccer_vision Makefile line 33 (missing pipe), executing the script opencv_version
- Commented out the last 4 soccer directories. Make now works, but is skipping the compilation of naoqisim.exe.
- Skyping happens when there is no Visual Studio: ifeq ($(wildcard $(MSBUILD)),)
@echo "! Skipping compilation of naoqisim.exe controller"
- Was looking for Visual Studio Essentials 2010. The Matlab help pointed to older vs downloads, but I couldn't find 2010. Downloade 2019 (Community version) instead:
- Started a VisualStudio Powershell. Added $env:Path += ";C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin". The executable msbuild.exe is known, but the Makefile is still skiping.
- The controllers\naoqisim\Makefile explicitly sets MSBUILD?=/C/Windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe
- Manually made the call with msbuild.exe naoqisim.sln /verbosity:minimal /property:Configuration=Release (in directory naoqisim\controllers\naoqisim.
- Doing the same for challenge_solver fails: msbuild.exe .\challenge_solver.sln /verbosity:minimal /property:Configuration=Release
Microsoft (R) Build Engine version 16.8.2+25e4d540b for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(411,5): error MSB8020: The build tools for Visual Studio 2010 (Platform Toolset = 'v100') cannot be found. To build using the v100 build tools, please install Visual Studio 2010 build tools. Alternatively, you may upgr ade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution". [C:\packages\naoqisim\control lers\challenge_solver\challenge_solver.vcxproj]
- The same happens for nao_team_0 and robocup_striker. Also the project libraries\nao_soccer and soccer_vision_VS have this problem.
- Loaded C:\packages\naoqisim\worlds\naoqisim_indoors.wbt, which starts but fails in the end crashes:
WARNING: naoqisim: [environment variables with relative path] is deprecated, please use [environment variables with path] instead
INFO: naoqisim: Starting controller: C:\packages\naoqisim\controllers\naoqisim\naoqisim.exe 9559
Qt: Untested Windows version 6.2 detected!
Error: %1 is geen geldige Win32-toepassing.
(dynamic library)
Error: failed to load C:/Programs/Webots/resources/projects/plugins/robot_windows/generic/generic.dll library
===== naoqisim controller started =====
Press the real-time button [>] to start the simulation, then you can connect Choregraphe.
===== starting alsim controller =====
sdkPrefix: ..\..\aldebaran\simulator-sdk
[E] 9720 posture: PostureLibrary::loadLibraryFromFile: cannot open file ""
[I] 9720 SimLauncher: Launching ..\..\ALDEBA~1\SIMULA~1\bin/hal -s hal-ipc9559 -p HAL/Robot/Type:string=Nao -p HAL/Simulation:int=1 -p HAL/Time:int=0 -p HAL/CycleTime:int=0 -p DCM/Time:int=0 -p DCM/CycleTime:int=0 -p HAL/SimShmId:int=9559 -p HAL/Ack:int=0 -p HAL/Nack:int=0 -p HAL/Error:int=0
[I] 9720 SimLauncher: Launching ..\..\ALDEBA~1\SIMULA~1\bin/naoqi-bin.exe -p 9559 --writable-path C:\Users\Arnoud\AppData\Local\Temp\SimLauncherQSlQ6dd
Webots cameras enabled.
Add the '-nocam' option in 'controllerArgs' to disable the cameras and increase the simulator performance.
simulator-sdk max camera resolution: CameraBottom: 1280x960
Webots camera resolution: CameraBottom: 160x120
simulator-sdk max camera resolution: CameraTop: 1280x960
Webots camera resolution: CameraTop: 160x120
WARNING: naoqisim: The process crashed some time after starting successfully.
WARNING: 'naoqisim' controller crashed.
- The file C:/Programs/Webots/resources/projects/plugins/robot_windows/generic/generic.dll exists, but is from 2018. There is a Makefile in this directory, so I could try to remake it.
- A make only partly works:
$env:WEBOTS_HOME="C:\Programs\Webots"
PS C:\Programs\Webots\resources\projects\plugins\robot_windows\generic> make
Het systeem kan het opgegeven pad niet vinden.
"# updating" string_utils.d
Het systeem kan het opgegeven pad niet vinden.
"# updating" generic.d
Het systeem kan het opgegeven pad niet vinden.
"# compiling" generic.c
make: *** [C:/Programs/Webots/resources/Makefile.include:523: build/release/generic.o] Error -1073741515
- Created the directory build\release, and now both *.d files are created (although empty).
- Just simple gcc -c generic.c works, but gives no output.
- Looking if I could install gcc in msys. Following the instructions of devdungeon.
- First downloading the package information with pacman -Syu. Msys have to be closed to finish the installation.
- Installing gcc with pacman -S base-devel gcc vim cmake.
- The executables should be accessible from C:\msys64\mingw64\bin and C:\msys64\usr\bin.
- The full package failed to be installed, so I install packman -s gcc make wget.
- Without MSBUILD compilation of naoqisim is still skipped, compiling challenge_solver.exe fails on Makefile:27.
- Now something happens when I do gcc: make
# compiling generic.o
gcc -c -Wall -O3 -DNDEBUG -mwindows -Wl,-subsystem,windows -D_GLIBCXX_USE_CXX11_ABI=1 -I. -I"C:\Programs\Webots/include/controller/c" generic.c -o build/release/generic.o
generic.c:26:10: fatal error: string_utils.h: No such file or directory
26 | #include "string_utils.h"
January 5, 2021
- Run Quest part I on webots. It sort of worked. I see in the log audio.texttospeechlog Hello World.
- On the client side I receive qitype.object: No such property 100 and signal 100, while on the server site I see DCM just time out (before communication).
- Copying the code from PDF doesn't work, but that seems to be due to the PDF rendering.
- The default PDF viewer has the same problem. The suggested Xpdf is no longer maintained, so installed okular as alternative. Still, same problem.
- Tested last week with Choregraphe 2.1, but today I used pynaoqi v2.8.6 for the test. That seems to work.
- The installation under Linux of pynaoqi v2.1.4 fails on the missing library.
- Solution of using other libraries gave problems with libboost-dev.
January 4, 2021
- Next to SmartBird (2011), Festo now also has BionicSwift (2020), which can be used to simulate a swarm of artificial swallows.
- The conclusion of the Very Short Introduction mentions both Schema theory and Neural theory. Schema theory is not handled, only in Prof. Hendricksen original presentation it is covered on slide 22 and 23. There Schema theory is mentioned as the building blocks for Behaviors.
Previous Labbooks