Frequent Asked Question...
Multi-computer configuration
Configure a ROS_DOMAIN_ID
betwwen 1 and 100 in your bashrc file to limit the topics area,
and set ROS_LOCALHOST_ONLY
to zero to permits several computer to share ROS ressources.
gedit ~/.bashrc
add at the end of the file (with 42 for instance):
export ROS_LOCALHOST_ONLY= 0
export ROS_DOMAIN_ID= 42
ROS2 tbot custom topic types
I cannot echo topics provided by the tbot such /events/button
or /events/bumper
because the type isn't recognized.
To install those custom types:
cd $ROS_WORKSPACE
git clone https://github.com/imt-mobisyst/pkg-interfaces.git
colcon build --base-path pkg-interfaces
source ./install/setup.bash
ROS2 tbot driver
How to get ROS2 tbot driver on my computer (to use it without a Pi)
Install:
cd $ROS_WORKSPACE
git clone https://github.com/imt-mobisyst/pkg-interfaces.git
git clone https://github.com/imt-mobisyst/pkg-tbot.git
./script/install-kobuki_ros.sh
colcon build
Launch:
# base only
ros2 launch tbot_start base.launch.py
# base + laser
ros2 launch tbot_start minimal.launch.py
# base + with laser + camera
ros2 launch tbot_start full.launch.py
ros2 topic list
Fix malformed packets
Info there: https://github.com/kobuki-base/kobuki_core/commit/2bc11a1bf0ff364b37eb812a404f124dae9c0699
sudo cp /home/bot/ros2_ws/pkg-kobuki/kobuki_core/60-kobuki.rules /lib/udev/rules.d/
Then unplug / replug the robot. To ensure it worked, the followwing command should display 1:
cat /sys/bus/usb-serial/devices/ttyUSB0/tty/ttyUSB0/device/latency_timer
-->
There is no Wifi on my dell-xps13 ?
- Connect with cable
- Get the appropriate drivers: killer driver
sudo add-apt-repository ppa:canonical-hwe-team/ backport-iwlwifi
sudo apt-get update
sudo apt-get install backport-iwlwifi-dkms
- reboot
Remove password asking for docker commands
sudo echo "\n%sudo ALL=(ALL) NOPASSWD: /usr/bin/docker\n" >> /etc/sudoers
Catkin_create_pkg - invalid email ?
you can use the -m
option to force an author name.
catin_create_pkg -m AuthorName package_name [dependencies...]
opencv_createsamples
The latest OpenCV does not include opencv_createsamples
.
Let's compile an older version (~5 min on labs PC).
git clone https://github.com/opencv/opencv.git
cd opencv
git checkout 3.4.17
mkdir build
cd build
cmake -D'CMAKE_BUILD_TYPE=RELEASE' ..
make -j8
ls -l bin/opencv_createsamples
How to get an aligned depth image to the color image ?
you can use the align_depth:=true
ROS parameter. The aligned image is streamed in a specific topic. (tks Orange group)
roslaunch realsense2_camera rs_camera.launch align_depth:=true
ROS1 vs ROS2 commands cheatsheet
ROS1 | ROS2 |
---|---|
rostopic list |
ros2 topic list |
rqt_graph |
rqt_graph |
rviz |
rviz2 |
rosrun tf view_frames |
ros2 run tf2_tools view_frames |
colcon build --packages-select my_package |
|
colcon build --symlink-install |
|
colcon build --paths path/to/some/package other/path/to/other/packages/* |
|
colcon build --event-handlers console_direct+ --cmake-args -DCMAKE_VERBOSE_MAKEFILE=ON --packages-select my_package |
.bashrc
ROS additions
# ROS
export ROS_LOCALHOST_ONLY=1
export PS1="\${ROS_VERSION:+(ros\$ROS_VERSION) }$PS1"
alias rosify1="source /opt/ros/noetic/setup.bash && source $HOME/ros1_ws/devel/setup.bash"
alias rosify2="source /opt/ros/iron/setup.bash && source $HOME/ros2_ws/install/setup.bash"
Flash kobuki
https://kobuki.readthedocs.io/en/devel/firmware.html#linux
ROS2 Package with custom Python Library
- suppose we are in packge
my-package
- Inside the package folder
my-package
create a folder for my library. For examplelibs/my_lib
- Inside
myLib
folder add__init__.py
file that imports resources from other python files. - Add the
CMakeList.txt
install( DIRECTORY libs/my_lib DESTINATION lib/${PROJECT_NAME})
- build the package
colcon build
More on ros2 tutorial by readthedocs: