นั่งอ่านมาหลายรอบ จดโน๊ตไว้ทุกครั้ง แต่จดไว้ที่ไหนก็นึกไม่ออก มีทั้งสมุดทั้งเว็บทั้งโปรแกรม พอจะสร้าง packageใหม่ ก็งง ทำไงดี จำวิธีไม่ได้ ละก็ยังใช้ ros1อยู่ค่ะ…ไม่ได้ไปไหนสักที
ระบบ build/compile code ของ ros1 เอาไว้ใช้กับ .cpp ถ้าเป็นไฟล์ python มาก็เอาใส่โฟลเดอร์ ละเรียกใช้ได้เลย แต่ต้อ set permission chmod 777 ก่อน จำได้ว่า 775 ก็พอละ แต่เลขมันจำยาก.. ยก all permission ให้ไปเลย
catkin_make เป็น default build command ใน ros groovy (2012) และก็ยังใช้มาเรื่อยๆ เค้าบอกว่าข้อเสียของอันนี้คือ มันbuild โฟลเดอร์ src ทั้งก้อน เลือก build เฉพาะ package ไม่ได้ ซึ่งก็ไม่จริงเพราะใช้ คำสั่ง catkin_make –pkg <pkg_name> ได้
ตัว catkin_make เนี่ย จะไปหา package.xml ตามโฟลเดอร์แต่ละอัน แล้วทำ build dependency ขึ้นมา ซึ่งเราสามารถ install missing dependencies ได้จากคำสั่งข้างล่าง
rosdep update
rosdep -y install –from-paths src –ignore-src
ตอนสร้าง package ใหม่ ให้ใช้คำสั่ง
catkin_create_pkg <pkg_name> rospy std_msgs tf2_ros
อย่างสร้างโฟลเดอร์เอง เพราะมันจะไม่มี package.xml กับ CMakeLists.txt
แต่พวก dependencies เนี่ยสิ ตอนแรกจะไปรู้มั้ยว่าจะใช้อะไร คงต้องมานั่งเขียนใส่ใน package.xml กับ CMakeLists.txt เองทีหลังสินะ…
catkin build ที่มาช่วยให้ build แยก package ได้ เป็นคำสั่งใน catkin_tools มาช่วง ros indigo (2014) และเป็นที่นิยม เห็นว่า build เร็วขึ้น มีฟีเจอร์อื่นๆให้ใช้ แต่ใช้ไม่เป็น
sudo apt-get install ros-noetic-catkin python3-catkin-tools
catkin build <pkg_name>
catkin build – build packages
catkin clean – clean build products
catkin config – configure workspace settings and layout
catkin create – create packages
catkin env – run commands with a modified environment
catkin init – initialise a workspace
catkin list – list package information
catkin locate – get workspace directory paths
catkin profile – manage named configuration profiles
catkin test – test packages
จำได้ว่าถ้าใช้ catkin build แล้ว จะกลับไปใช้ catkin_make ไม่ได้ละนะ..