Sisters Dell ROS 2 Dashing 202004 Part 2 Note and Log

From wikidb
Jump to: navigation, search
openManipulatorROS220200421.txt

4/21/20

should not have skipped this in the ros install

https://raw.githubusercontent.com/ROBOTIS-GIT/open_manipulator/ros2/install_ros_dashing.sh

eepp@sisters:~$ mv robotis_ws/ goofed_robotis_ws
eepp@sisters:~$ 
eepp@sisters:~$ 
eepp@sisters:~$ 
eepp@sisters:~$ mkdir -p robotis_ws/src
eepp@sisters:~$ cd robotis_ws/
eepp@sisters:robotis_ws$ colcon build --symlink-install
                     
Summary: 0 packages finished [0.12s]
eepp@sisters:robotis_ws$ ls
build  install  log  src
eepp@sisters:robotis_ws$ 

this is the key thing I missed
eepp@sisters:robotis_ws$ cd
eepp@sisters:~$ source robotis_ws/install/local_setup.bash 
eepp@sisters:~$ emacs .bashrc&
[2] 14122




now back to section 10.3 Install ROS 2 Packages
http://emanual.robotis.com/docs/en/platform/openmanipulator_x/ros2_setup/#ros-setup
Start clean. Not necessary but safer

this should have been done so nothing should happen

eepp@sisters:~$ sudo apt install ros-dashing-python* ros-dashing-rqt
[sudo] password for eepp: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'ros-dashing-python-cmake-module' for glob 'ros-dashing-python*'
Note, selecting 'ros-dashing-python-qt-binding' for glob 'ros-dashing-python*'
ros-dashing-python-cmake-module is already the newest version (0.7.10-1bionic.20191205.183959).
ros-dashing-python-qt-binding is already the newest version (1.0.2-1bionic.20191205.184031).
ros-dashing-rqt is already the newest version (1.0.5-1bionic.20200318.045531).
0 upgraded, 0 newly installed, 0 to remove and 15 not upgraded.
eepp@sisters:~$ 
eepp@sisters:~$ 
eepp@sisters:~$ 
eepp@sisters:~$ 
eepp@sisters:~$ cd robotis_ws/src/
eepp@sisters:src$ 
eepp@sisters:src$ 
eepp@sisters:src$ git clone -b ros2 https://github.com/ROBOTIS-GIT/DynamixelSDK.git
Cloning into 'DynamixelSDK'...
remote: Enumerating objects: 60, done.
remote: Counting objects: 100% (60/60), done.
remote: Compressing objects: 100% (47/47), done.
remote: Total 12361 (delta 25), reused 28 (delta 9), pack-reused 12301
Receiving objects: 100% (12361/12361), 27.51 MiB | 1.90 MiB/s, done.
Resolving deltas: 100% (7076/7076), done.
eepp@sisters:src$ 
eepp@sisters:src$ 
eepp@sisters:src$ 
eepp@sisters:src$ 
eepp@sisters:src$ git clone -b ros2 https://github.com/ROBOTIS-GIT/dynamixel-workbench.git
Cloning into 'dynamixel-workbench'...
remote: Enumerating objects: 19, done.
remote: Counting objects: 100% (19/19), done.
remote: Compressing objects: 100% (18/18), done.
remote: Total 5915 (delta 6), reused 7 (delta 1), pack-reused 5896
Receiving objects: 100% (5915/5915), 1.19 MiB | 688.00 KiB/s, done.
Resolving deltas: 100% (3938/3938), done.
eepp@sisters:src$ 
eepp@sisters:src$ 
eepp@sisters:src$ 
eepp@sisters:src$ 
eepp@sisters:src$ git clone -b ros2 https://github.com/ROBOTIS-GIT/open_manipulator.git
Cloning into 'open_manipulator'...
remote: Enumerating objects: 387, done.
remote: Counting objects: 100% (387/387), done.
remote: Compressing objects: 100% (257/257), done.
remote: Total 5396 (delta 183), reused 287 (delta 125), pack-reused 5009
Receiving objects: 100% (5396/5396), 23.06 MiB | 5.04 MiB/s, done.
Resolving deltas: 100% (3169/3169), done.
eepp@sisters:src$ 
eepp@sisters:src$ 
eepp@sisters:src$ 
eepp@sisters:src$ 
eepp@sisters:src$ git clone -b ros2 https://github.com/ROBOTIS-GIT/open_manipulator_msgs.git
Cloning into 'open_manipulator_msgs'...
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 131 (delta 0), reused 4 (delta 0), pack-reused 121
Receiving objects: 100% (131/131), 26.39 KiB | 2.40 MiB/s, done.
Resolving deltas: 100% (59/59), done.
eepp@sisters:src$ 
eepp@sisters:src$ 
eepp@sisters:src$ 
eepp@sisters:src$ 
eepp@sisters:src$ git clone -b ros2 https://github.com/ROBOTIS-GIT/open_manipulator_dependencies.git
Cloning into 'open_manipulator_dependencies'...
remote: Enumerating objects: 65, done.
remote: Counting objects: 100% (65/65), done.
remote: Compressing objects: 100% (47/47), done.
remote: Total 65 (delta 13), reused 65 (delta 13), pack-reused 0
Unpacking objects: 100% (65/65), done.
eepp@sisters:src$ 
eepp@sisters:src$ 
eepp@sisters:src$ 
eepp@sisters:src$ 
eepp@sisters:src$ git clone -b ros2 https://github.com/ROBOTIS-GIT/robotis_manipulator.git
Cloning into 'robotis_manipulator'...
remote: Enumerating objects: 104, done.
remote: Counting objects: 100% (104/104), done.
remote: Compressing objects: 100% (63/63), done.
remote: Total 1182 (delta 61), reused 64 (delta 33), pack-reused 1078
Receiving objects: 100% (1182/1182), 306.03 KiB | 2.22 MiB/s, done.
Resolving deltas: 100% (847/847), done.
eepp@sisters:src$ 
eepp@sisters:src$ 
eepp@sisters:src$ 
eepp@sisters:src$ 
eepp@sisters:src$ cd ~/robotis_ws
eepp@sisters:robotis_ws$ 
eepp@sisters:robotis_ws$ 
eepp@sisters:robotis_ws$ colcon build --symlink-install
Starting >>> dynamixel_sdk
Starting >>> cmake_modules
Starting >>> open_manipulator_msgs
Starting >>> joint_state_publisher
Finished <<< joint_state_publisher [1.14s]                         
Starting >>> open_manipulator_x_description
Finished <<< cmake_modules [3.70s]                                     
Starting >>> robotis_manipulator
Finished <<< open_manipulator_x_description [3.52s]                       
Finished <<< dynamixel_sdk [4.73s]                                        
Starting >>> dynamixel_workbench_toolbox
--- stderr: dynamixel_workbench_toolbox                                        
/home/eepp/robotis_ws/src/dynamixel-workbench/dynamixel_workbench_toolbox/src/dynamixel_workbench_toolbox/dynamixel_driver.cpp: In member function ‘bool DynamixelDriver::readRegister(uint8_t, uint16_t, uint16_t, uint32_t*, const char**)’:
/home/eepp/robotis_ws/src/dynamixel-workbench/dynamixel_workbench_toolbox/src/dynamixel_workbench_toolbox/dynamixel_driver.cpp:776:27: warning: ISO C++ forbids variable length array ‘data_read’ [-Wvla]
   uint8_t data_read[length];
                           ^
/home/eepp/robotis_ws/src/dynamixel-workbench/dynamixel_workbench_toolbox/src/dynamixel_workbench_toolbox/dynamixel_driver.cpp: In member function ‘bool DynamixelDriver::syncWrite(uint8_t, uint8_t*, uint8_t, int32_t*, uint8_t, const char**)’:
/home/eepp/robotis_ws/src/dynamixel-workbench/dynamixel_workbench_toolbox/src/dynamixel_workbench_toolbox/dynamixel_driver.cpp:1012:49: warning: ISO C++ forbids variable length array ‘multi_parameter’ [-Wvla]
   uint8_t multi_parameter[4*data_num_for_each_id];
                                                 ^
---
Finished <<< dynamixel_workbench_toolbox [7.70s]
Starting >>> dynamixel_workbench
Finished <<< dynamixel_workbench [5.31s]
Finished <<< robotis_manipulator [18.3s]
Starting >>> open_manipulator_x_libs
Finished <<< open_manipulator_msgs [29.7s]                                     
Starting >>> open_manipulator_x_teleop
--- stderr: open_manipulator_x_libs    
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/kinematics.cpp: In member function ‘virtual void kinematics::SolverUsingCRAndJacobian::setOption(const void*)’:
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/kinematics.cpp:27:54: warning: unused parameter ‘arg’ [-Wunused-parameter]
 void SolverUsingCRAndJacobian::setOption(const void *arg){}
                                                      ^~~
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/dynamixel.cpp: In member function ‘bool dynamixel::JointDynamixel::write_goal_position(std::vector<unsigned char>, std::vector<double>)’:
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/dynamixel.cpp:270:38: warning: ISO C++ forbids variable length array ‘id_array’ [-Wvla]
   uint8_t id_array[actuator_id.size()];
                                      ^
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/dynamixel.cpp:271:43: warning: ISO C++ forbids variable length array ‘goal_position’ [-Wvla]
   int32_t goal_position[actuator_id.size()];
                                           ^
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/dynamixel.cpp: In member function ‘std::vector<robotis_manipulator::_Point> dynamixel::JointDynamixel::receive_all_dynamixel_value(std::vector<unsigned char>)’:
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/dynamixel.cpp:295:38: warning: ISO C++ forbids variable length array ‘id_array’ [-Wvla]
   uint8_t id_array[actuator_id.size()];
                                      ^
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/dynamixel.cpp:299:41: warning: ISO C++ forbids variable length array ‘get_current’ [-Wvla]
   int32_t get_current[actuator_id.size()];
                                         ^
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/dynamixel.cpp:300:42: warning: ISO C++ forbids variable length array ‘get_velocity’ [-Wvla]
   int32_t get_velocity[actuator_id.size()];
                                          ^
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/dynamixel.cpp:301:42: warning: ISO C++ forbids variable length array ‘get_position’ [-Wvla]
   int32_t get_position[actuator_id.size()];
                                          ^
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/dynamixel.cpp: In member function ‘bool dynamixel::JointDynamixelProfileControl::write_goal_profiling_control_value(std::vector<unsigned char>, std::vector<robotis_manipulator::_Point>)’:
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/dynamixel.cpp:606:38: warning: ISO C++ forbids variable length array ‘id_array’ [-Wvla]
   uint8_t id_array[actuator_id.size()];
                                      ^
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/dynamixel.cpp:607:40: warning: ISO C++ forbids variable length array ‘goal_value’ [-Wvla]
   int32_t goal_value[actuator_id.size()];
                                        ^
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/dynamixel.cpp: In member function ‘std::vector<robotis_manipulator::_Point> dynamixel::JointDynamixelProfileControl::receive_all_dynamixel_value(std::vector<unsigned char>)’:
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/dynamixel.cpp:643:38: warning: ISO C++ forbids variable length array ‘id_array’ [-Wvla]
   uint8_t id_array[actuator_id.size()];
                                      ^
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/dynamixel.cpp:647:41: warning: ISO C++ forbids variable length array ‘get_current’ [-Wvla]
   int32_t get_current[actuator_id.size()];
                                         ^
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/dynamixel.cpp:648:42: warning: ISO C++ forbids variable length array ‘get_velocity’ [-Wvla]
   int32_t get_velocity[actuator_id.size()];
                                          ^
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/dynamixel.cpp:649:42: warning: ISO C++ forbids variable length array ‘get_position’ [-Wvla]
   int32_t get_position[actuator_id.size()];
                                          ^
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/custom_trajectory.cpp: In member function ‘virtual void custom_trajectory::Line::setOption(const void*)’:
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/custom_trajectory.cpp:95:34: warning: unused parameter ‘arg’ [-Wunused-parameter]
 void Line::setOption(const void *arg) {}
                                  ^~~
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/custom_trajectory.cpp: In member function ‘virtual void custom_trajectory::Circle::setOption(const void*)’:
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/custom_trajectory.cpp:169:36: warning: unused parameter ‘arg’ [-Wunused-parameter]
 void Circle::setOption(const void *arg){}
                                    ^~~
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/custom_trajectory.cpp: In member function ‘virtual void custom_trajectory::Rhombus::setOption(const void*)’:
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/custom_trajectory.cpp:262:37: warning: unused parameter ‘arg’ [-Wunused-parameter]
 void Rhombus::setOption(const void *arg){}
                                     ^~~
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/custom_trajectory.cpp: In member function ‘virtual void custom_trajectory::Heart::setOption(const void*)’:
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/custom_trajectory.cpp:336:35: warning: unused parameter ‘arg’ [-Wunused-parameter]
 void Heart::setOption(const void *arg){}
                                   ^~~
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/kinematics.cpp: In member function ‘virtual void kinematics::SolverUsingCRAndSRJacobian::setOption(const void*)’:
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/kinematics.cpp:181:56: warning: unused parameter ‘arg’ [-Wunused-parameter]
 void SolverUsingCRAndSRJacobian::setOption(const void *arg){}
                                                        ^~~
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/kinematics.cpp: In member function ‘virtual void kinematics::SolverUsingCRAndSRPositionOnlyJacobian::setOption(const void*)’:
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/kinematics.cpp:447:68: warning: unused parameter ‘arg’ [-Wunused-parameter]
 void SolverUsingCRAndSRPositionOnlyJacobian::setOption(const void *arg){}
                                                                    ^~~
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/kinematics.cpp: In member function ‘virtual void kinematics::SolverCustomizedforOMChain::setOption(const void*)’:
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_libs/src/kinematics.cpp:713:56: warning: unused parameter ‘arg’ [-Wunused-parameter]
 void SolverCustomizedforOMChain::setOption(const void *arg){}
                                                        ^~~
---
Finished <<< open_manipulator_x_libs [14.7s]
Starting >>> open_manipulator_x_controller
Finished <<< open_manipulator_x_teleop [9.72s]
--- stderr: open_manipulator_x_controller                                   
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_controller/src/open_manipulator_x_controller.cpp: In member function ‘void open_manipulator_x_controller::OpenManipulatorXController::init_publisher()’:
/home/eepp/robotis_ws/src/open_manipulator/open_manipulator_x_controller/src/open_manipulator_x_controller.cpp:104:21: warning: unused variable ‘name’ [-Wunused-variable]
   for (auto const & name:tools_name)
                     ^~~~
---
Finished <<< open_manipulator_x_controller [9.35s]
Starting >>> open_manipulator_x
Finished <<< open_manipulator_x [1.58s]                     

Summary: 12 packages finished [47.9s]
  3 packages had stderr output: dynamixel_workbench_toolbox open_manipulator_x_controller open_manipulator_x_libs
eepp@sisters:robotis_ws$ 



Need the full path to the setup file in robotis_ws
# Temp disabled because of upgrade to 18.04
source /opt/ros/dashing/setup.bash
source /home/eepp/robotis_ws/install/local_setup.bash
# source ~/catkin_ws/devel/setup.bash
# export ROS_MASTER_URI=http://10.0.0.159:11311



eepp@sisters:robotis_ws$ 
eepp@sisters:robotis_ws$ source ../.bashrc
bash: robotis_ws/install/local_setup.bash: No such file or directory
eepp@sisters:robotis_ws$ emacs ~/.bashrc&
[1] 21838
eepp@sisters:robotis_ws$ source ../.bashrc
eepp@sisters:robotis_ws$ 
eepp@sisters:robotis_ws$ 
eepp@sisters:robotis_ws$ 
eepp@sisters:robotis_ws$ 
eepp@sisters:robotis_ws$ 
eepp@sisters:robotis_ws$ colcon build --symlink-install
Starting >>> dynamixel_sdk
Starting >>> cmake_modules
Starting >>> open_manipulator_msgs
Starting >>> joint_state_publisher
Finished <<< cmake_modules [0.61s]                                        
Starting >>> robotis_manipulator
Finished <<< dynamixel_sdk [0.67s]
Starting >>> dynamixel_workbench_toolbox
Finished <<< robotis_manipulator [0.50s]                                     
Finished <<< dynamixel_workbench_toolbox [0.46s]
Starting >>> open_manipulator_x_libs
Starting >>> dynamixel_workbench
Finished <<< joint_state_publisher [1.16s]
Starting >>> open_manipulator_x_description
Finished <<< dynamixel_workbench [0.33s]
Finished <<< open_manipulator_x_description [0.33s]
Finished <<< open_manipulator_x_libs [0.43s]
Finished <<< open_manipulator_msgs [1.58s]                        
Starting >>> open_manipulator_x_teleop
Starting >>> open_manipulator_x_controller
Finished <<< open_manipulator_x_teleop [0.30s]
Finished <<< open_manipulator_x_controller [0.30s]
Starting >>> open_manipulator_x
Finished <<< open_manipulator_x [0.17s]                  

Summary: 12 packages finished [2.27s]
eepp@sisters:robotis_ws$ 







------






eepp@sisters:~$ 
eepp@sisters:~$ ros2 launch open_manipulator_x_controller open_manipulator_x_controller.launch.py
[INFO] [launch]: All log files can be found below /home/eepp/.ros/log/2020-04-21-10-19-35-905781-sisters-26572
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [launch.user]: Execute OpenManipulator-X Controller!!
[INFO] [open_manipulator_x_controller-1]: process started with pid [26585]
[ERROR] [open_manipulator_x_controller-1]: process has died [pid 26585, exit code -11, cmd '/home/eepp/robotis_ws/install/open_manipulator_x_controller/lib/open_manipulator_x_controller/open_manipulator_x_controller -d /dev/ttyUSB0 1000000 __node:=open_manipulator_x_controller __params:=/home/eepp/robotis_ws/install/open_manipulator_x_controller/share/open_manipulator_x_controller/param/open_manipulator_x_controller_params.yaml'].
eepp@sisters:~$ 

Is this because no servo has id 11?????





eepp@sisters:open_manipulator_x_controller$ ll /dev/ttyACM0 
crw-rw---- 1 root dialout 166, 0 Apr 21 09:00 /dev/ttyACM0
eepp@sisters:open_manipulator_x_controller$ sudo chmod 666 /dev/ttyACM0 
[sudo] password for eepp: 


eepp@sisters:robotis_ws$ ros2 launch open_manipulator_x_controller open_manipulator_x_controller.launch.py
[INFO] [launch]: All log files can be found below /home/eepp/.ros/log/2020-04-21-10-53-16-803756-sisters-28865
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [launch.user]: Execute OpenManipulator-X Controller!!
[INFO] [open_manipulator_x_controller-1]: process started with pid [28878]
[ERROR] [open_manipulator_x_controller-1]: process has died [pid 28878, exit code -11, cmd '/home/eepp/robotis_ws/install/open_manipulator_x_controller/lib/open_manipulator_x_controller/open_manipulator_x_controller -d /dev/ttyUSB0 1000000 __node:=open_manipulator_x_controller __params:=/home/eepp/robotis_ws/install/open_manipulator_x_controller/share/open_manipulator_x_controller/param/open_manipulator_x_controller_params.yaml'].
eepp@sisters:robotis_ws$ 





http://wiki.ros.org/open_manipulator

http://wiki.ros.org/open_manipulator_control_gui


------

eepp@sisters:dynamixel-workbench$ 
eepp@sisters:dynamixel-workbench$ pwd
/home/eepp/robotis_ws/src/dynamixel-workbench
eepp@sisters:dynamixel-workbench$ more README.md