ros
moveit
robot simulator
vsclab
由於 ROS 2 foxy 沒有 "MoveIt Setup Assistant",因此使用 MoveIt 1 Noetic (需先安裝 ROS 1 Noetic)
Could not load controller 'joint_state_controller' because controller type 'joint_state_controller/JointStateController' does not exist.
$ sudo apt-get install ros-noetic-joint-state-controller ros-noetic-joint-trajectory-controller
[ERROR] [1667645588.171038399, 0.126000000]: No p gain specified for pid. Namespace:gazebo_ros_control/pid_gains/Joint1
將 urdf/joint/<axis> 之數值變號,即可將關節旋轉反向。
<launch>
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find delta_model)/rviz/urdf.rviz" />
</launch>
$ cd ~/delta_ws # 進入工作目錄
$ catkin_make # 編譯
$ source devel/setup.bash # source the overlay
# 預覽台達機械手臂(無物理引擎)
$ roslaunch delta_model display.launch
$ roslaunch moveit_delta_sim demo_gazebo.launch
# 模擬台達機械手臂運動規劃(含物理引擎+控制器)
$ roslaunch moveit_delta_sim full_delta_sim.launch
# 進入工作目錄
$ colcon_cd delta_ros2_ws # by colcon_cd
$ cd ~/delta_ros2_ws # manually
# 編譯
$ colcon build
# 載入套件環境
$ source install/setup.bash
# 預覽台達機械手臂(無物理引擎)
$ ros2 launch src/delta_model/arm.launch.py
# 模擬台達機械手臂運動規劃(含物理引擎+控制器)
$ roslaunch moveit_delta_sim full_delta_sim.launch
# 進入工作目錄
$ colcon_cd delta_ros2_ws # by colcon_cd
$ cd ~/delta_ros2_ws # manually
# 編譯
$ colcon build
# 載入套件環境
$ source ~/delta_ros2_ws/install/setup.bash
$ source ~/ws_moveit2/install/setup.bash
# 預覽台達機械手臂(無物理引擎)
$ ros2 launch delta_model display.launch.py
# (Terminal 1) 開啟台達機械手臂 MoveIt 環境
$ ros2 launch moveit2_delta demo.launch.py rviz_config:="src/moveit2_delta/rviz/moveit.rviz"
# (Terminal 2) 開啟 MoveIt 命令控制程式
$ ros2 run hello_moveit hello_moveit_delta
$ ros2 launch hello_moveit collision_demo.launch.py
# 模擬台達機械手臂運動規劃(含物理引擎+控制器)
# $ roslaunch moveit_delta_sim full_delta_sim.launch
CMakeLists.txt
與package.xml
moveit_setup_assistant
$ cd ~/delta_ros2_ws
$ colcon build
$ source install/setup.bash
$ ros2 run moveit_setup_assistant moveit_setup_assistant
/home/deltabot/delta_ros2_ws/src/moveit2_delta
$ cd ~/delta_ros2_ws
$ colcon build
$ source install/setup.bash
$ ros2 launch moveit2_delta demo.launch.py
config/*_planning.yaml
記得修改 Joint Group 名稱,才能載入 move_group_node, rviz2_node# List Controller Types
$ rosservice call controller_manager/list_controller_types
# Show Pos, Vel of joints
$ rostopic echo /joint_states
TODO: