วันศุกร์ที่ 21 มิถุนายน พ.ศ. 2567

Flash Nvidia Jetson Nano Module ด้วย SDK Manager

ติดตั้ง VMWare ก่อนแล้วติดตั้ง OS Ubuntu 18.04 LTS ลงบน VMWare จากนั้น Run Ubuntu แล้วเปิด Web Browser พิมพ์ค้นหา SDK Manager แล้วคลิก Link ของ Nvidia Developer


เลื่อนลงมาด้านล่างไปที่ Visit SDK Manager Downloads Archive for older versions


เลือก Download SDK Manager เวอร์ชัน 1.9.3


เลือก Save File แล้วคลิก OK

จะได้ไฟล์ sdkmanager_1.9.3-amd64.deb มา


ดับเบิ้ลคลิกที่ไฟล์เพื่อติดตั้ง SDK Manager


หลังจากติดตั้งสำเร็จ เปิด Terminal แล้วพิมพ์คำสั่ง sdkmanager เพื่อเปิดซอฟต์แวร์ขึ้นมา


ทำการ Login ด้วย Nvidia Developer Account (จะต้องทำสมัคร Account ก่อน)


หากมีหน้าต่าง New version is available ขึ้นมา ให้เลือก Later


เสียบสาย USB ระหว่าง Nvidia Jetson Nano ในโหมด Factory Recovery กับคอมพิวเตอร์ SDK Manager จะสามารถ Detect Jetson Nano modules ได้


คลิกเครื่องหมากถูกที่ Host Machine ออก เพราะเราต้องการ Download เฉพาะซอฟต์แวร์ที่จะใช้กับ Nvidia Jetson Nano โดยเลือก Target Operating System เป็น Linux JetPack 4.6.4


คลิกเครื่องหมายถูกที่ Jetson SDK Components ออก เพื่อติดตั้งเฉพาะ OS เท่านั้น


คลิก Accept license agreement จากนั้นคลิก Continue เพื่อเริ่ม Download และติดตั้ง โดยให้กรอก Password ของ OS Ubuntu ที่ใช้อยู่


SDK Manager จะทำการ Download และ Create OS image รอจนครบ 100%



จากนั้นจะเข้าสู่กระบวนการ Flash OS หากเชื่อมต่อ Nvidia Jetson Nano ที่อยู่ในโหมด Factory Recovery ให้เลือกข้อ 1 เป็น Manual Setup แต่ถ้าเชื่อมต่อแบบปกติให้เลือกเป็น Automatic Setup จากนั้นกรอก Username และ Password ของ Nvidia Jetson Nano ที่ต้องการใช้งาน แล้วคลิก Flash



SDK Manager จะทำการ Flash OS ให้กับ Nvidia Jetson Nano รอจนกระทั่ง Flash เสร็จสิ้น


หลังจาก Flash สำเร็จ SDK Manager จะแสดงข้อความ Installation Completed Successfully คลิก Finish and Exit

วันพุธที่ 5 มิถุนายน พ.ศ. 2567

  • เริ่มต้นสร้าง Workspace ด้วยคำสั่ง
mkdir catkin_ws

  • เข้าไปใน catkin_ws จากนั้นสร้างโฟลเดอร์ src ด้วยคำสั่ง
mkdir src
  • สร้าง Environment สำหรับ Complie ด้วยคำสั่ง
catkin_make
  • ใช้คำสั่ง ls จะพบโฟล์เดอร์ build, devel และ src ทำให้ Ubuntu รู้จัก setup.bash ใน devel ด้วยคำสั่ง
echo "/home/catkin_ws/devel/setup.bash" >> ~/.bashrc
  • Run ไฟล์ .bashrc ด้วยคำสั่ง
source ~/.bashrc
  • เข้าไปใน catkin_ws/src แล้ว clone repository ที่ชื่อว่า bogie มาด้วยคำสั่ง
cd catkin_ws/src
git clone https://github.com/midnightpen/bogie.git
  • ออกไปยัง catkin_ws แล้ว Complie ด้วยคำสั่ง
cd ..
catkin_make
  • หากพบ error ให้ติดตั้ง Library ที่ขาดเข้าไปด้วยคำสั่ง
sudo apt-get install ros-melodic-amcl
sudo apt-get install ros-melodic-dwa-local-planner
sudo apt-get install ros-move-base
sudo apt-get install ros-melodic-gmapping
sudo apt-get install ros-melodic-map-server
sudo apt-get install ros-melodic-bfl
sudo apt-get install ros-melodic-serial
sudo apt-get install libavcodec-dev
sudo apt-get install libswscale-dev
sudo apt-get install libv4l-dev
  • หากพบ error เกี่ยวกับ opencv ให้ไปแก้ไขไฟล์โดยเปลี่ยน opencv เป็น opencv4 ด้วยคำสั่ง
sudo gedit /opt/ros/melodic/share/cv_bridge/cmake/cv_bridgeConfig.cmake
  • หากพบ error อีกให้ติดตั้ง Library ที่ขาดเข้าไปด้วยคำสั่ง
sudo apt-get install ros-melodic-camera-info-manager
  • ออกไปยัง catkin_ws แล้ว Complie อีกครั้งด้วยคำสั่ง
cd ..
catkin_make
  • เข้าไปใน catkin_ws/src แล้ว clone repository ที่ชื่อว่า teleop_twist_joy มาด้วยคำสั่ง
git clone https://github.com/ros-teleop/teleop_twist_joy.git
  • ออกไปยัง catkin_ws แล้ว Complie อีกครั้งด้วยคำสั่ง
cd ..
catkin_make
  • ssh เข้าไปใน bogie และ run rplidar ด้วยคำสั่ง
ssh bogie@ip-address
roscore
roslaunch rplidar rplidarNode
rostopic list
rostopic echo /scan
  • exit ออกจาก bogie จากนั้นเข้าไปแก้ไขไฟล์ .bashrc ด้วยคำสั่ง
sudo gedit ~/.bashrc
  • ทำให้ ROS MASTER กับ ROS SLAVE เชื่อมต่อถึงกันโดยพิมพ์คำสั่งต่อท้ายในไฟล์ .bashrc ทั้งฝั่ง MASTER และ SALVE ดังนี้
export ROS_MASTER_URI=http://bogie-ip-address:11311
export ROS_IP=device-ip-address
  • Run ไฟล์ .bashrc ด้วยคำสั่ง
source ~/.bashrc
  • ssh เข้าไปใน bogie และ run bogie_bringup ด้วยคำสั่ง
ssh bogie@ip-address
roslaunch bogie_bringup bringup.launch
  • exit ออกจาก bogie และ run rviz ด้วยคำสั่ง
rostopic list
rosrun rviz rviz
  • ไปที่ปุ่ม Add > By Topic > LaserScan
  • เปลี่ยน Fixed Frame เป็น base_link
  • เปิด Terminal ใหม่และโชว์ rqt ด้วยคำสั่ง
rqt
  • ไปที่เมนู Plugins > Topics > Topic Monitor
  • คลิก /scan เพื่อดูแต่ละ item ใน /scan ได้
  • ไปที่เมนู Plugins > Introspection > Node Graph
  • ควบคุม bogie ผ่าน keyboard ด้วยคำสั่ง
rostopic echo /cmd_vel
  • เปิด Terminal ใหม่และ run teleop-twist-keyboard ด้วยคำสั่ง
sudo apt-get install ros-melodic-teleop-twist-keyboard
rosrun teleop-twist-keyboard teleop-twist-keyboard.py
  • ทดสอบกด Keyboard ปุม u i o j k l m , .
  • ควบคุม bogie ผ่าน Joy Stick ด้วยคำสั่ง
    sudo apt-get install ros-melodic-teleop-twist-joy
    roslaunch teleop-twist-joy teleop.launch
  • ssh เข้าไปใน bogie และทำแผนที่ด้วยคำสั่ง
    ssh bogie@ip-address
    roslaunch bogie_bringup bringup.launch
    roslaunch bogie_navigation mapping.launch
    roslaunch bogie_navigation navigation.launch
  • exit ออกจาก bogie และ run rviz ด้วยคำสั่ง
    rosrun rviz rviz
  • ไปที่เมนู File > Open Config > opt > ros > melodic > share > hector_slam > rviz_config
  • ไปที่ปุ่ม Add > By Topic > /map
  • บันทึกแผนที่

  • ssh เข้าไปใน jetson และทำแผนที่ map-sr ด้วยคำสั่ง
    ssh jetson@ip-address
    roscore
    rosrun rplidar_ros rplidarNode
    rosrun mytf tf_tx
    rosrun odometry odom
    rosrun hector_mapping hector_mapping
    rosrun rviz rviz