Skip to content

Instantly share code, notes, and snippets.

@nov05
Last active April 11, 2025 00:40
Show Gist options
  • Save nov05/4bc90dcbfdd213fd1072c3dc85becdbf to your computer and use it in GitHub Desktop.
Save nov05/4bc90dcbfdd213fd1072c3dc85becdbf to your computer and use it in GitHub Desktop.
  • ☝️ Check my Google Docs


🟢⚠️ It is hard to ROSLaunch that Gazebo world that I created via udacity_office.launch.

✅ It’s probably due to insufficient memory. I have migrated the whole course repos to local windows 11, wsl2, ubuntu 20.04, ros, gazebo 11 (classic). Originally i was using VMWare with the ubuntu 16.04 image.

VMware: vmw_ioctl_command error Cannot allocate memory.
Aborted (core dumped)
[gazebo_gui-3] process has died
obond@udacity:~/catkin_ws$ roslaunch my_robot udacity_office.launch
... logging to /home/robond/.ros/log/fc58a24c-efb7-11ef-ac2e-000c29b977f9/roslaunch-udacity-6115.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://192.168.146.128:33359/

SUMMARY
========

PARAMETERS
 * /joint_state_publisher/use_gui: False
 * /robot_description: <?xml version="1....
 * /rosdistro: kinetic
 * /rosversion: 1.12.7
 * /use_sim_time: True

NODES
  /
    gazebo (gazebo_ros/gzserver)
    gazebo_gui (gazebo_ros/gzclient)
    joint_state_publisher (joint_state_publisher/joint_state_publisher)
    robot_state_publisher (robot_state_publisher/robot_state_publisher)
    rviz (rviz/rviz)
    urdf_spawner (gazebo_ros/spawn_model)

auto-starting new master
process[master]: started with pid [6131]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to fc58a24c-efb7-11ef-ac2e-000c29b977f9
process[rosout-1]: started with pid [6144]
started core service [/rosout]
process[gazebo-2]: started with pid [6147]
process[gazebo_gui-3]: started with pid [6153]
process[joint_state_publisher-4]: started with pid [6178]
process[robot_state_publisher-5]: started with pid [6179]
process[urdf_spawner-6]: started with pid [6180]
process[rviz-7]: started with pid [6181]
SpawnModel script started
[ INFO] [1740075897.463273383]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1740075897.464587612]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[INFO] [1740075897.525276, 0.000000]: Loading model XML from ros parameter
[INFO] [1740075897.528256, 0.000000]: Waiting for service /gazebo/spawn_urdf_model
[INFO] [1740075898.134898, 0.000000]: Calling service /gazebo/spawn_urdf_model
[INFO] [1740075898.180367, 0.000000]: Spawn status: SpawnModel: Entity pushed to spawn queue, but spawn service timed out waiting for entity to appear in simulation under the name udacity_office_my_robot
[urdf_spawner-6] process has finished cleanly
log file: /home/robond/.ros/log/fc58a24c-efb7-11ef-ac2e-000c29b977f9/urdf_spawner-6*.log
[ INFO] [1740075898.516658742, 1549.348000000]: Camera Plugin: Using the 'robotNamespace' param: '/'
[ INFO] [1740075898.530733224, 1549.348000000]: Laser Plugin: Using the 'robotNamespace' param: '/'
[ INFO] [1740075898.531429882, 1549.348000000]: Starting Laser Plugin (ns = /)
[ INFO] [1740075898.535874445, 1549.348000000]: Camera Plugin (ns = /)  <tf_prefix_>, set to ""
[ INFO] [1740075898.552923307, 1549.348000000]: Laser Plugin (ns = /)  <tf_prefix_>, set to ""
[ INFO] [1740075898.641781446, 1549.348000000]: Starting plugin DiffDrive(ns = //)
[ INFO] [1740075898.641935340, 1549.348000000]: DiffDrive(ns = //): <rosDebugLevel> = na
[ INFO] [1740075898.643362848, 1549.348000000]: DiffDrive(ns = //): <tf_prefix> = 
[ INFO] [1740075898.644614865, 1549.348000000]: DiffDrive(ns = //): Try to subscribe to cmd_vel
[ INFO] [1740075898.647578356, 1549.348000000]: DiffDrive(ns = //): Subscribe to cmd_vel
[ INFO] [1740075898.648702679, 1549.348000000]: DiffDrive(ns = //): Advertise odom on odom 
[ INFO] [1740075898.659440552, 1549.353000000]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1740075898.723666300, 1549.378000000]: Physics dynamic reconfigure ready.
VMware: vmw_ioctl_command error Cannot allocate memory.
Aborted (core dumped)
[gazebo_gui-3] process has died [pid 6153, exit code 134, cmd /opt/ros/kinetic/lib/gazebo_ros/gzclient __name:=gazebo_gui __log:=/home/robond/.ros/log/fc58a24c-efb7-11ef-ac2e-000c29b977f9/gazebo_gui-3.log].
log file: /home/robond/.ros/log/fc58a24c-efb7-11ef-ac2e-000c29b977f9/gazebo_gui-3*.log
[rviz-7] process has finished cleanly
log file: /home/robond/.ros/log/fc58a24c-efb7-11ef-ac2e-000c29b977f9/rviz-7*.log
^C[robot_state_publisher-5] killing on exit
[joint_state_publisher-4] killing on exit
[gazebo-2] killing on exit
[gazebo-2] escalating to SIGTERM
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done
robond@udacity:~/catkin_ws$ cat /home/robond/.ros/log/fc58a24c-efb7-11ef-ac2e-000c29b977f9/urdf_spawner-6*.log
[rospy.client][INFO] 2025-02-20 10:24:57,418: init_node, name[/urdf_spawner], pid[6180]
[xmlrpc][INFO] 2025-02-20 10:24:57,419: XML-RPC server binding to 0.0.0.0:0
[xmlrpc][INFO] 2025-02-20 10:24:57,419: Started XML-RPC server [http://192.168.146.128:33187/]
[rospy.impl.masterslave][INFO] 2025-02-20 10:24:57,419: _ready: http://192.168.146.128:33187/
[rospy.init][INFO] 2025-02-20 10:24:57,419: ROS Slave URI: [http://192.168.146.128:33187/]
[rospy.registration][INFO] 2025-02-20 10:24:57,419: Registering with master node http://localhost:11311
[xmlrpc][INFO] 2025-02-20 10:24:57,420: xml rpc node: starting XML-RPC server
[rospy.init][INFO] 2025-02-20 10:24:57,519: registered with master
[rospy.rosout][INFO] 2025-02-20 10:24:57,520: initializing /rosout core topic
[rospy.rosout][INFO] 2025-02-20 10:24:57,521: connected to core topic /rosout
[rospy.simtime][INFO] 2025-02-20 10:24:57,522: initializing /clock core topic
[rospy.simtime][INFO] 2025-02-20 10:24:57,523: connected to core topic /clock
[rosout][INFO] 2025-02-20 10:24:57,525: Loading model XML from ros parameter
[rosout][INFO] 2025-02-20 10:24:57,528: Waiting for service /gazebo/spawn_urdf_model
[rospy.internal][INFO] 2025-02-20 10:24:57,779: topic[/rosout] adding connection to [/rosout], count 0
[rosout][INFO] 2025-02-20 10:24:58,134: Calling service /gazebo/spawn_urdf_model
[rosout][INFO] 2025-02-20 10:24:58,180: Spawn status: SpawnModel: Entity pushed to spawn queue, but spawn service timed out waiting for entity to appear in simulation under the name udacity_office_my_robot
[rospy.core][INFO] 2025-02-20 10:24:58,180: signal_shutdown [atexit]
[rospy.internal][INFO] 2025-02-20 10:24:58,183: topic[/rosout] removing connection to /rosout
[rospy.impl.masterslave][INFO] 2025-02-20 10:24:58,184: atexit
@nov05
Copy link
Author

nov05 commented Apr 8, 2025

introlab/rtabmap_ros#529 (comment)
derektan95
on Jan 21, 2021
Author
Install misc dependencies
sudo apt-get install ros-melodic-rtabmap ros-melodic-rtabmap-ros
sudo apt remove ros-melodic-rtabmap ros-melodic-rtabmap-ros # Uninstall again
Installing OpenCV dependencies
cd ~/Libraries
git clone https://github.com/opencv/opencv # Master branch
cd opencv
mkdir build && cd build
cmake -D CATKIN_INSTALL_PREFIX=/usr/local ..
make -j8
sudo make install # Install to usr/local directory
Installing OpenCV Bridge dependencies
These packages be cloned from https://github.com/ros-perception/vision_opencv. However, they have to be modified to fit to our use, if not there will be compile errors. For ROS Melodic, use the noetic branch and change python dependencies in CMakeLists.txt, or use the melodic branch and change some function headers (https://cyaninfinite.com/ros-cv-bridge-with-python-3/).

cd ~/Libraries
git clone https://github.com/ros-perception/vision_opencv
cd vision_opencv/cv_bridge
mkdir build && cd build
cmake -D CATKIN_INSTALL_PREFIX=/usr/local ..
make -j8
sudo make install # Install to usr/local directory

cd ~/Libraries
cd vision_opencv/image_geometry
mkdir build && cd build
cmake -D CATKIN_INSTALL_PREFIX=/usr/local ..
make -j8
sudo make install # Install to usr/local directory
Installing RTAB packages

Installing RTAB Library

cd ~/Libraries
git clone https://github.com/introlab/rtabmap # Master branch
cd rtabmap
mkdir build && cd build
cmake -D OpenCV_DIR=/usr/local/lib/cmake/opencv4 -D CATKIN_INSTALL_PREFIX=/usr/local ..
make -j8
sudo make install

Installing RTAB ROS package

cd ~/unitree_a1_repo/catkin_ws/src
git clone https://github.com/introlab/rtabmap_ros
Linking RTAB-Map to newly compiled libraries
Add these 2 lines of code to specify where to link to the cv_bridge and image_geometry libraries, at the top of RTAB ROS's CMakeLists.txt. After this, you can compile the RTAB-Map package. It depends on where your cmake instruction files are located once these packages are installed.

set(cv_bridge_DIR /usr/local/share/cv_bridge/cmake)
set(image_geometry_DIR /usr/local/share/image_geometry/cmake)
#set(image_geometry_DIR /usr/local/lib/cmake/opencv4) # Not sure if needed

@nov05
Copy link
Author

nov05 commented Apr 8, 2025

cd ~/Libraries
git clone https://github.com/ros-perception/vision_opencv
cd vision_opencv/cv_bridge                          
mkdir build && cd build
cmake -D CATKIN_INSTALL_PREFIX=/usr/local ..
make -j8
sudo make install                                   # Install to usr/local directory

cd ~/Libraries
cd vision_opencv/image_geometry                     
mkdir build && cd build
cmake -D CATKIN_INSTALL_PREFIX=/usr/local ..
make -j8
sudo make install                                   # Install to usr/local directory

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment