Hi all,
Its been a while but a managed to come up with a solve, I don`t understand why it works or what the origin of the problem actually is however this solution should work. I apologize if the instruction are un clear I don’t normally make these sorts of things.
STEPS TO FIX ARM:
After building turtlebot3_manuplation package there will be missing dependcies
colcon build should tell you which packages to install do as advised
After this disconnect from pi and connect to pc.
NEXT:
ON PC
$ sudo apt install ros-foxy-rqt* ros-foxy-joint-state-publisher
$ cd ~/colcon_ws/src/
$ git clone -b foxy-devel GitHub - ROBOTIS-GIT/DynamixelSDK: ROBOTIS Dynamixel SDK (Protocol1.0/2.0)
$ git clone -b ros2 GitHub - ROBOTIS-GIT/dynamixel-workbench: ROS packages for Dynamixel controllers, msgs, single_manager, toolbox, tutorials
$ git clone -b foxy-devel GitHub - ROBOTIS-GIT/open_manipulator: OpenManipulator for controlling in Gazebo and Moveit with ROS
$ git clone -b ros2 GitHub - ROBOTIS-GIT/open_manipulator_msgs: ROS Messages for OpenManipulator
$ git clone -b ros2 GitHub - ROBOTIS-GIT/open_manipulator_dependencies
$ git clone -b ros2 GitHub - ROBOTIS-GIT/robotis_manipulator: This package contains the manipulation API and functions for controlling the manipulator.
$ cd ~/colcon_ws && colcon build --symlink-install
load arduino IDE
Follow This OpenCR 1.0
Navigate to
File > Examples > OpenCR > 10.Etc > usb_to_dxl
Load to open_cr board
Check if it works using the commands below:
ros2 launch open_manipulator_x_controller open_manipulator_x_controller.launch.py usb_port:=/dev/ttyACM0
ros2 run open_manipulator_x_teleop teleop_keyboard
Then disconnect bot from PC
Install these on the Rasiberry pi 4:
$ sudo apt install ros-foxy-rqt* ros-foxy-joint-state-publisher
$ cd ~/colcon_ws/src/
$ git clone -b ros2 GitHub - ROBOTIS-GIT/dynamixel-workbench: ROS packages for Dynamixel controllers, msgs, single_manager, toolbox, tutorials
$ git clone -b foxy-devel GitHub - ROBOTIS-GIT/open_manipulator: OpenManipulator for controlling in Gazebo and Moveit with ROS
$ git clone -b ros2 GitHub - ROBOTIS-GIT/open_manipulator_msgs: ROS Messages for OpenManipulator
$ git clone -b ros2 GitHub - ROBOTIS-GIT/open_manipulator_dependencies
$ git clone -b ros2 GitHub - ROBOTIS-GIT/robotis_manipulator: This package contains the manipulation API and functions for controlling the manipulator.
$ cd ~/colcon_ws && colcon build --symlink-install
Once again check if it works using the commands below,
ros2 launch open_manipulator_x_controller open_manipulator_x_controller.launch.py usb_port:=/dev/ttyACM0
ros2 run open_manipulator_x_teleop teleop_keyboard
navigate to ~/turtlebot3_manipulation/turtlebot3_manipulation_description/ros2_control/
Access turtlebot3_manipulation_system.ros2_control.xacro edit this,
if you cannot see the .xacro file using ‘ls’
use this command instead:
chmod 777
Change the baud rate to 4,000,000 (not sure if this affects anything)
Delete build and install folder (do a fresh colcon build of the turtlebot3_ws not colcon_ws)
colcon build
If all good flash the opencr board, (check emanual for most update to date method or use below)
$ export OPENCR_PORT=/dev/ttyACM0
$ export OPENCR_MODEL=turtlebot3_manipulation
$ rm -rf ./opencr_update.tar.bz2
$ wget https://github.com/ROBOTIS-GIT/OpenCR-Binaries/raw/master/turtlebot3/ROS2/latest/opencr_update.tar.bz2
$ tar -xvf opencr_update.tar.bz2
$ cd ./opencr_update
$ ./update.sh $OPENCR_PORT $OPENCR_MODEL.opencr
now try launching this again
$ ros2 launch turtlebot3_manipulation_bringup hardware.launch.py
This should now work.
(notes: This works for foxy but should also work for humble as it has the same issues.)