[C++] ์ฝ๋ฉํ ์คํธ ๋ ์์ฃผ ์ฌ์ฉํ๋ STL ๋ฐ ์๊ณ ๋ฆฌ์ฆ ์ ๋ฆฌ
์ฝ๋ฉ ํ ์คํธ ๋ฌธ์ ๋ฅผ ํ๋ค๋ณด๋ฉด STL์ ๋ง์ด ์ฌ์ฉํ๊ฒ ๋๋ค.
์ฝ๋ฉ ํ ์คํธ ๋ฌธ์ ๋ฅผ ํ๋ค๋ณด๋ฉด STL์ ๋ง์ด ์ฌ์ฉํ๊ฒ ๋๋ค.
Euler angle(roll, pitch, yaw)์์ 3x3 ํ์ ํ๋ ฌ์ ์ป์ด๋ณด์
Quaternion๊ณผ Euler(roll, pitch, yaw)์ ์ํธ ๋ณํ ํด๋ณด์
๋ฆฌ๋ ์ค์์ ํค๋ณด๋ ์ ๋ ฅ์ ์ฆ๊ฐ์ฆ๊ฐ ์์ ํด๋ณด์
Eigen::MatrixXf์ cv::Mat์ผ๋ก ๋ณํํด๋ณด์
std::vector๋ก๋ถํฐ ํ๊ท (mean)๊ณผ ํ์คํธ์ฐจ(standard deviation)์ ๊ตฌํด๋ณด์!
C++์์ std::vector ์๋ฃํ์ cv::Mat ์๋ฃํ์ผ๋ก ๋ณํํด๋ณด์!
C++๋ก Linux(Ubuntu)ํ๊ฒฝ์์ ์๋ฆฌ์ผ ํต์ ์ผ๋ก ์ผ์ ๊ฐ์ ์ฝ์ด๋ณด์!
2์ฐจ์ ํํ์ std::vector๋ฅผ 1์ฐจ์ vector๋ก ๋ง๋ค์ด ๋ณด์!
์ง๊ฐ ์ผ๊ฐํ์ ๋น๋ณ์ ๊ธธ์ด๋ฅผ ๊ตฌํด๋ณด์
C++๋ก ์ํ์ ํํ์ ๋ค๋ฃจ๋ค๋ณด๋ฉด ํ๋ ฌ ํํ์ ํผํ ์ ์๋ค ๋ณดํต Eigen ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ๋ง์ด๋ค ํํํ๋๋ฐ, ์ด ๋ Rotation๊ณผ Translation์ด ๋ด๊ธด Transformation matrix๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก 4x4 ํ๋ ฌ์ด๋ฉฐ ์ํธ ๋ณํํด์ ์ฌ์ฉํ๋...
Eigen::Quaternion์ Eigen::Matrix3f๋ก ๋ฐ๊ฟ๋ณด์
ํ์ฌ ์๊ฐ(์ฐ๋, ์, ์ผ, ์๋ถ์ด)๋ฅผ ์ถ๋ ฅํด๋ณด์!
C++ ์๋๊ณ C๋ก ์์ผํต์ ์์ฑํ๊ธฐ!
C++ ์๋๊ณ C๋ก ์์ผํต์ ์์ฑํ๊ธฐ!
Log to Probability
~~~c++ int dx = abs(x1 - x0), sx = x0 < x1 ? 1 : -1; int dy = -abs(y1 - y0), sy = y0 < y1 ? 1 : -1; int err = dx + dy, e2; int xp = x0, yp = y0; int t...
tf ์ ๋ณด๋ฅผ ๋ธ๋ก๋์บ์คํ ํด๋ณด์!
๋ฆฌ๋ ์ค ํฐ๋ฏธ๋์ ์นผ๋ผ๋ก ์ถ๋ ฅํด๋ณด์!
C++์ ํ์ผ ์ ์ถ๋ ฅ์ ๋ํด ์์๋ณด์
(์๋ฐฉํฅ) NMEA to UTM ๋ณํ์ ์์๋ณด์
๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ์๋ผ๋ณด์
Min, Max๊ฐ์ ์ ํด์ ํด๋น value๊ฐ ๊ฐ ์์ ๋ค์ด์ค๋๋ก ํ์
Axis angle์ Quaternion์ผ๋ก ๋ณํํด๋ณด์ !
๊ฐ๋ ๊ณ์ฐํ ๋ ํ์
์ขํ ๋ฌถ์ ๋ ์ข์ C++ STL ์๊ฐ
์์ฆ ํซํ C++ ๋ก๊น ๋ผ์ด๋ธ๋ฌ๋ฆฌ spdlog๋ฅผ ์ค์นํด๋ณด์! (From source)
๊ตฌ๊ธ์ ๋ก๊น ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ glog๋ฅผ ๋ฐ์ด๋๋ฆฌ๋ก ์ค์นํด๋ณด์ !
VTK 8.2.0 ๋ฒ์ ์ ์ค์นํด๋ณด์!
๋ด ์ปดํจํฐ์ ๋ง๋ CUDA๋ฅผ ์ค์นํด๋ณด์
point cloud ๋ทฐ์ด์ธ cloudcompare๋ฅผ ์ค์นํด๋ณด์
์ฐ๋ถํฌ 18.04์ ์๋์ฝ๋ค๋ฅผ ์ค์นํด๋ณด์!
Octomap ์ค์นํ๊ธฐ !
OSQP C๋ฒ์ , Python๋ฒ์ ์ ์ค์นํด๋ณด์ !
Open3d ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํด๋ณด์
์ฐ๋ถํฌ, ๋ฆฌ๋ ์ค ํ๊ฒฝ์์ ํ๋ฉด ๋ นํํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์
How to mount google drive on Ubuntu/Linux
๋ฆฌ๋ ์ค ๊ทธ๋ฆผํ ์ค์น
Ubuntu 18.04์ ROS melodic ์ค์นํ๊ธฐ
ํ์ด์ฌ์์ ๋ฐ์ดํฐ์ ๊ฐ์ฐ์์ ๋ ธ์ด์ฆ๋ฅผ ์ถ๊ฐํด๋ณด์.
ํ์ด์ฌ์์ ์ด๊ฑฐํ(enum)์ ์ด๋ป๊ฒ ์์ฑํ๊ณ ์ฌ์ฉํ ๊น?
ํ์ด์ฌ์์ ๊ตฌ์กฐ์ฒด๋ ์ด๋ป๊ฒ ์ ์ํ๊ณ ์ฌ์ฉํ ๊น? ์๊ฐ๋ณด๋ค ์ฝ๋คโฆ !
ํ์ด์ฌ์์ ์์ฃผ ๊ฐ๋จํ queue ์ฌ์ฉ๋ฒ์ ์์๋ณด์
๊ธฐ์กด ํฌ์คํ ์์ ํ๋ฒ ์ธ๊ธํ๋ ์ ์ด ์๋ค ์ฌ๊ธฐ์์ ํ์ธ๊ฐ๋ฅ !
ํ์ด์ฌ์์ ์์ฃผ ๊ฐ๋จํ๊ฒ ์๊ณ ๋ฆฌ์ฆ ์ธก์ ์๊ฐ์ ๊ตฌํด๋ณด์
ํ์ด์ฌ ์์์ ํ๊ธ ์์ฑ์ encoding ์๋ฌ๋ฅผ ๋ง๊ธฐ ์ํด์๋ ?
pip install ${module} ํ์ vscode์์ is not accessed by Pylance์ผ ๋ ์ด๋ป๊ฒ ํ ๊น?
์ฟผํฐ๋์ธ์ ํ์ ํ๋ ฌ๋ ๋ฐ๊ฟ๋ณด์ !
python3 ๊ธฐ์ค์ผ๋ก pcdํ์ผ์ binํ์ผ๋ก ๋ณํํ๊ธฐ
ํ์ด์ฌ์ผ๋ก ํด๋ ๋ด ํ์ผ ์ด๋ฆ์ ์ผ๊ด ๋ณ๊ฒฝ ํด๋ณด์
Basic code for the LiDAR test
Basic code for the IMU test
Basic code for the GPS test
์๋,๊ฒฝ๋ ๋ฐฐ์ด์ ์ค์ ์ง๋์ ์น์ด๋ณด์!
rospy ๋ ธ๋๋ฅผ ๋ง๋ค์ด๋ณด์
C++ ์์ ๋ง ํฌ์คํ ํ๋๋ฐ, ํ์ด์ฌ๋ ๋น ๋ฅด๊ฒ ๋ง๋ค๊ธฐ ์ํด์ ์ ์ด๋๋ค
sensor_msgs::PointCloud๋ก๋ถํฐ ๋ผ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ํ์ฑํด๋ณด์
PCL ๊ธฐ์กด์ ์ค์น๋์ด ์๋ ๊ฒ๋ค์ ์์ ํ ์ ๊ฑฐํด๋ณด์!
PCL ๋ฒ์ ์ ํ์ธํด๋ณด์!
PointCloud๋ฅผ ๊ฐ ์ถ๋ณ๋ก ํ์ ์์ผ๋ณด์ ๋ณธ ์์ ๋ Z ์ถ์ ๊ธฐ์ค์ผ๋ก ํ์ ํ๋ ์์ ๋ค
PCL ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ROS ๋น ๋ฅด๊ฒ ์จ๋ณด๊ธฐ
Estimation using integral images
How 3D features work
Estimate surface normals
Project points using parametric model
How to extract indeices from segmentation
Statistical Outlier Removal Filter๋ฅผ ์ฌ์ฉํด๋ณด์
Statistical Outlier Removal Filter๋ฅผ ์ฌ์ฉํด๋ณด์
Pass Through Filter๋ก ROI ์ ํ๊ธฐ
Voxel Grid Filter๋ก ๋ค์ด์ํ๋ง ์ํค๊ธฐ
PCD ํ์ผ ํ์์ผ๋ก ์ ์ฅํด๋ณด์
PCD ํ์ผ์ ์ฝ์ด๋ณด์ ํ์ผ ๋ค์ด๋ก๋
ํฌ์ธํธ ํด๋ผ์ฐ๋ ํ์ผ ํฌ๋งท์ ๋ํด ์์๋ณด์ !
launchํ์ผ์์ param์ผ๋ก ๋๊ฒจ์ค ๊ฒ์ ์ฝ์ด๋ณด์!
librealsense_gazebo_plugin.so๊ฐ ์๋ค๋ ์๋ฌ ๊ฒฝ๊ณ ์ฐฝ์ด ๋ฌ๋ค๋ฉด!
๋ด ๋ก๋ด(rosbot, jackal, quadrotor ๋ฑ) ์ intel realsense camera๋ฅผ ์ค์นํด๋ณด์
๋น๋๊ธฐํ๋ odom ๋ฐ์ดํฐ์ gt ๋ฐ์ดํฐ๋ฅผ ์ด๋ค ์์ผ๋ก ๋น๊ตํ ๊น ? ?
ROS์์ ์ฌ์ฉํ๋ ์๋ฃํ๊ณผ C++ or Python์์ ์ฌ์ฉํ๋ ์๋ฃํ๊ณผ ๋น๊ตํด๋ณด์
์ค๋์ ์๋ก ๋ค๋ฅธ PC๋ฅผ ํ๋์ ROS ๋คํธ์ํฌ์ ์ฐ๊ฒฐํด์ topic์ ์ฃผ๊ณ ๋ฐ๋ ์ค์ ์ ํด๋ณด์
๋ฉ์ธ์ง(.msg)ํ์ผ๋ง ๋ชจ์๋ ํจํค์ง๋ฅผ ๋ฐ๋ก ๋ง๋ค๊ณ ์ด๋ฅผ ์ด์ฉํด๋ณด์
ROS ํ๊ฒฝ์์ C++ ๊ธฐ๋ฐ Subscriber๋ฅผ ์์ฑํด๋ณด์
ROS ํ๊ฒฝ์์ C++ ๊ธฐ๋ฐ Publisher๋ฅผ ์์ฑํด๋ณด์
ROS์์ TF ๋ฉ์ธ์ง๋ฅผ ๋น ๋ฅด๊ฒ ๋ง๋ค์ด๋ณด์ ROS์์ static transform publisher๋ฅผ ํด๋ณด์! (๋ช ๋ น์ด ํ๋)
sensor_msgs/PointCloud2์์ sensor_msgs/LaserScan๋ก ๋ณํํ์
ROS bagํ์ผ์์ pcdํ์ผ๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์!
์์ฃผ ๊ฐ๋จํ ros subscriber ๋ง๋ค์ด๋ณด์!
์์ฃผ ๊ฐ๋จํ ros publisher๋ฅผ ๋ง๋ค์ด๋ณด์!
ros::spin()๊ณผ ros::spinOnce์ ์ฐจ์ด์ ์ ๋ํด์ ์ ๋ฆฌํ๋ค
How to visualize PointCloud2 on rviz
Gazebo ๋์ ๋์ค์ gazebo-2: process has died ์๋ฌ๊ฐ ๋ฌ๋ค๋ฉด?
catkin์ผ๋ก ๋น๋ํ๋ค๊ฐ ์๋ ๋ฉ์ธ์ง๊ฐ ๋ฌ๋ค๋ฉด?
์ ๋ฐ ์๋ฌ๊ฐ ๋ฌ๋ค๋ฉด??
No rule to make target 'arch/x86/entry/syscalls/syscall_32.tbl', needed by 'arch/x86/include/generated/uapi/asm/unistd_32.h'. Stop.๊ฐ ๋ฌ๋ค๋ฉด????
PX4์ ROS2 ์์ ๋ฅผ ๋๋ฆฌ๋ ์ค [PreFlightCheck] mode not suitable for takeoff ๋ผ๋ ๋ฌธ๊ตฌ์ ํจ๊ป ์ปจํธ๋กค์ด ๋์ง ์๋ ๊ฒฝ์ฐ์ ํด๊ฒฐํด๋ณด์!
ROS_DISTRO was set to โfoxyโ before. Please make sure that the environment does not mix paths from different distributions ๋ผ๋ ๋ฉ์ธ์ง๊ฐ ๋ฐ ๋ ์ด๋ป๊ฒ ํด์ผ ํ ๊น ?
pip installํ ๋ ๊ฐ๋ ์๊ธฐ๋ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ์
lz4์๋ฌ๋ฅผ ํด๊ฒฐํด๋ณด์!
์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋ ๊ฒฝ์ฐ ํด๊ฒฐํ์
๋งคํธ๋ฉ ์ค์น๋ superuser๋ก ์ค์นํ๋ฉด ๋๋๋ฐ,,, ๊ทธ ํ์ adds-on ์ค์นํ ๋ /usr/local/MATLAB/R2021b ํด๋์ writeํ ์ ์๋ค๊ณ ์๋ฌ๊ฐ ๋ฐ ๊ฒฝ์ฐ๊ฐ ์๋ค
๊ฐ๋ ๊ฐ๋ค๊ฐ ๋จ๋ ์๋ฌโฆ ํด๊ฒฐํด๋ณด์!
๋์ผ ๋ถํ ์ ๋ฆฌ๋ ์ค ์ ํ ํ๋ฉด ๋ง๊ณ ๋ฐ๋ก ์๋์ฐ๋ก ๋ถํ ๋ ๋ ํด๊ฒฐ!
[Err] [REST.cc:205] Error in REST request
sudo apt update ์๋ฌ ํด๊ฒฐ!
๋ฌธ์ ์ค๋ช
๋ฌธ์ ์ค๋ช
๋ฌธ์ ์ค๋ช
๋ฌธ์ ์ค๋ช
๋ฌธ์ ์ค๋ช
๋ฌธ์ ์ค๋ช
๋ฌธ์ ์ค๋ช
๊ธฐํ๋ ์ค๋น๋ ์์๊ฒ ์จ๋ค !
๊ธฐํ๋ ์ค๋น๋ ์์๊ฒ ์จ๋ค !
๊ธฐํ๋ ์ค๋น๋ ์์๊ฒ ์จ๋ค !
๊ธฐํ๋ ์ค๋น๋ ์์๊ฒ ์จ๋ค !
๊ธฐํ๋ ์ค๋น๋ ์์๊ฒ ์จ๋ค !
๊ธฐํ๋ ์ค๋น๋ ์์๊ฒ ์จ๋ค !
๊ธฐํ๋ ์ค๋น๋ ์์๊ฒ ์จ๋ค !
๊ธฐํ๋ ์ค๋น๋ ์์๊ฒ ์จ๋ค !
๊ธฐํ๋ ์ค๋น๋ ์์๊ฒ ์จ๋ค !!
Ubuntu 20.04์ ์ผ๋ฐ๋ฅผ ์ค์นํด์ ์๋์ฐ PC์์ ๋ฐ์๋ณด์!
๋ด ์ปดํจํฐ๊ฐ Little endian์ธ ์ง, Big endian์ธ ์ง ํ์ธํด๋ณด์!
๋ฆฌ๋ ์ค์ ์ค์นํ ํจํค์ง ๊ฒฝ๋ก๋ฅผ ์ฐพ์๋ณด์
๋ค์ํ ์ข ๋ฅ์ GCC ๋ฒ์ ์ ์ค์นํด๋ณด์!
gcc์ g++์ ์ฐจ์ด์ ์ ์์๋ณด์
Ceres solver ์ฌ์ฉ๋ฒ ์ ๋ฆฌ
Ceres solver ์ฌ์ฉ๋ฒ ์ ๋ฆฌ
How to construct CMakeLists.txt to use ceres sovler
How to install Ceres Solver on Ubuntu 18.04
ROS 2์์ C++ ๊ธฐ๋ฐ publisher๋ฅผ ๋ง๋ค์ด๋ณด์!
ROS 2๋ฅผ ๊ณต๋ถํ๋ฉด์ ๋์ค์ ์ ๊น๋จน๊ธฐ ์ํด ๋ธ๋ก๊ทธ์ ๊ธฐ๋กํ๋ค
PC ํ๊ฒฝ์ ROS2์ ๋ง๊ฒ ๋ณ๊ฒฝํด๋ณด์
๊ฐ๊ฐํ Overleaf๋ก CV๋ ๋ ผ๋ฌธ ์ฐ๋ฉด์ ๋ฌธ๋ฒ ์ ๋ฆฌํ๋ ๊ธ ์์ฃผ ์ฌ์ฉํ์ง๋ ์์ ๊น๋จน์ ๋๋ง๋ค ๋ฉ๋ชจ์ค!
๊ธฐํ๋ ์ค๋น๋ ์์๊ฒ ์จ๋ค !!