mastering_ros icon indicating copy to clipboard operation
mastering_ros copied to clipboard

Moveit_simple_grasping

Open gmanwal opened this issue 9 years ago • 26 comments

Hi, I am trying to run the chapter 10 demo on ROS indigo. I have followed all of the steps you outline but I am getting problems with Moveit_simple_grasps not being able to find members from the moveit_visual_tools package. I have tried doing an ubuntu-debian install and from source of moveit_visual_tools but there seems to be some dependencies missing (setMuted(false) and loadEEMarker being examples).

Any help with this would be appreciated.

gmanwal avatar Jan 26 '16 14:01 gmanwal

Hi

You can install moveit_simple_grasps from the synaptic package manager itself. The default package has some issues, so i have attached zip file for the patched one.

https://github.com/qboticslabs/mastering_ros/blob/master/chapter_10_codes/moveit_simple_grasps.zip

After installing the default package from the synaptic package manager, you will get installed with the necessary dependencies of this package. After that you can uninstall this package and build the above package from source !!

qboticslabs avatar Jan 26 '16 14:01 qboticslabs

Thanks for your reply. I have tried this but I am now getting this error: moveit_simple_grasps_server: /usr/include/boost/smart_ptr/shared_ptr.hpp:653: typename boost::detail::sp_member_access<T>::type boost::shared_ptr<T>::operator->() const [with T = const moveit::core::RobotModel; typename boost::detail::sp_member_access<T>::type = const moveit::core::RobotModel*]: Assertion `px != 0' failed.

I have tried using every version of moveit_simple_grasps since 1.01 but it is still not working for me... I have also tried modifying the simple_grasps_server.cpp file as done in https://github.com/davetcoleman/moveit_simple_grasps/pull/16/files so gripper is the namespace of the end effector. I am exhausting all possible avenues here.

gmanwal avatar Jan 26 '16 15:01 gmanwal

ok.. can you screencast a video and sent to our mail id . Here is my id : [email protected]

We can discuss via mail. !!

qboticslabs avatar Jan 26 '16 15:01 qboticslabs

Hi, I have found the same issue as gmanwal. I get this error: moveit_simple_grasps_server: /usr/include/boost/smart_ptr/shared_ptr.hpp:653: typename boost::detail::sp_member_access::type boost::shared_ptr::operator->() const [with T = const moveit::core::RobotModel; typename boost::detail::sp_member_access::type = const moveit::core::RobotModel*]: Assertion `px != 0' failed. Were you able to find a solution for it?

Any help would be really appreciated. Thank you in advance

ghost avatar May 19 '16 09:05 ghost

Hi @gmanwal

Sorry for the trouble. The real issue is that moveit_simple_grasp package is not maintaining any more !! May be we need to take the source code and have to change it for the new updates in R.O.S. Let me try. I am now at ICRA 2016, so will check after i returned !!! Try to check the code of the package !!!

qboticslabs avatar May 19 '16 20:05 qboticslabs

Thanks Lentin, I am using other methods for my grasping but it would be useful to have this working, but no worry. Congratulations on coming first in the HRATC!! Can't tell you how many times your books have helped me! Keep up the good work!

G On 19 May 2016 21:40, "Qbotics Labs" [email protected] wrote:

Hi @gmanwal https://github.com/gmanwal

Sorry for the trouble. The real issue is that moveit_simple_grasp package is not maintaining any more !! May be we need to take the source code and have to change it for the new updates in R.O.S. Let me try. I am now at ICRA 2016, so will check after i returned !!! Try to check the code of the package !!!

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/qboticslabs/mastering_ros/issues/3#issuecomment-220441777

gmanwal avatar May 19 '16 20:05 gmanwal

Thanks :) !!

qboticslabs avatar May 27 '16 14:05 qboticslabs

Hi, I am trying to run the command line "roslaunch seven_dof_arm_gazebo grasp_generator_server.launch", I got a problem, terminal throws

[ERROR] [1465740328.774843123]: Grasp configuration parameter pregrasp_time_from_start missing from rosparam server. Did you load your end effector's configuration yaml file? Searching in namespace: /moveit_simple_grasps_server/right

but I found "pregrasp_time_from_start: 4.0" in the file of seven_dof_arm_grasp_data.yaml.

Could you give me any suggestions?

thanks

zongchengzuo avatar Jun 12 '16 14:06 zongchengzuo

@zongchengzuo, Sorry for the issue !! Can you send a screencast of the issue to my mail id : [email protected]. !!

qboticslabs avatar Jun 12 '16 17:06 qboticslabs

Hi all

I have found two solutions for this problem. This problem can vary in different system with different environment.

Possible solution:

  1. Stick on to Ubuntu 14.04.2 instead of Ubuntu 14.04.3. The package will perfectly work in ROS version 1.11.13. I think you will get this version in Ubuntu 14.04.2

  2. If you are using Ubuntu 14.04.3, take a try with the following package

https://github.com/qboticslabs/mastering_ros/blob/master/chapter_10_codes/moveit_simple_grasps_1.zip

Please get back to me with your issues to my mail id : [email protected].

I am not closing the issue now, waiting for your response !!!

qboticslabs avatar Jun 21 '16 13:06 qboticslabs

grasp_generator_server is working

The modified moveit_simple_grasps_1.zip package is good:

https://github.com/qboticslabs/mastering_ros/blob/master/chapter_10_codes/moveit_simple_grasps_1.zip

Thanks!

Rajkumarsaswamy avatar Jul 22 '16 15:07 Rajkumarsaswamy

why not submit a PR to the original repo to fix the issue, rather than use clunky zip files? that is the point of Github...

davetcoleman avatar Oct 05 '16 17:10 davetcoleman

SUMMARY

PARAMETERS

  • /moveit_simple_grasps_server/base_link: base_link
  • /moveit_simple_grasps_server/end_effector: gripper
  • /moveit_simple_grasps_server/gripper/end_effector_name: gripper
  • /moveit_simple_grasps_server/gripper/end_effector_parent_link: gripper_roll_link
  • /moveit_simple_grasps_server/gripper/grasp_pose_to_eef: [0.0, 0.0, 0.0]
  • /moveit_simple_grasps_server/gripper/grasp_pose_to_eef_rotation: [0.0, 0.0, 0.0]
  • /moveit_simple_grasps_server/gripper/grasp_posture: [1.0, 1.0]
  • /moveit_simple_grasps_server/gripper/grasp_time_from_start: 4.0
  • /moveit_simple_grasps_server/gripper/joints: ['finger_joint1',...
  • /moveit_simple_grasps_server/gripper/postplace_time_from_start: 4.0
  • /moveit_simple_grasps_server/gripper/pregrasp_posture: [0.0, 0.0]
  • /moveit_simple_grasps_server/gripper/pregrasp_time_from_start: 4.0
  • /moveit_simple_grasps_server/group: arm
  • /rosdistro: indigo
  • /rosversion: 1.11.21

NODES / moveit_simple_grasps_server (moveit_simple_grasps/moveit_simple_grasps_server)

ROS_MASTER_URI=http://localhost:11311

core service [/rosout] found process[moveit_simple_grasps_server-1]: started with pid [3388] [ERROR] [1507773300.324518439]: Grasp configuration parameter pregrasp_time_from_start missing from rosparam server. Did you load your end effector's configuration yaml file? Searching in namespace: /moveit_simple_grasps_server/right moveit_simple_grasps_server: /usr/include/boost/smart_ptr/shared_ptr.hpp:653: typename boost::detail::sp_member_access<T>::type boost::shared_ptr<T>::operator->() const [with T = const moveit::core::RobotModel; typename boost::detail::sp_member_access<T>::type = const moveit::core::RobotModel*]: Assertion `px != 0' failed. [moveit_simple_grasps_server-1] process has died [pid 3388, exit code -6, cmd /home/liqi/catkin_ws/devel/lib/moveit_simple_grasps/moveit_simple_grasps_server __name:=moveit_simple_grasps_server __log:=/home/liqi/.ros/log/d1043298-ae95-11e7-845f-000c29b384c9/moveit_simple_grasps_server-1.log]. log file: /home/liqi/.ros/log/d1043298-ae95-11e7-845f-000c29b384c9/moveit_simple_grasps_server-1*.log all processes on machine have died, roslaunch will exit shutting down processing monitor... ... shutting down processing monitor complete

when i run the command line roslaunch seven_dof_arm_gazebo grasp_generator_server.launch my system is Ubuntu 14.04,5 how can i solve those problems ? thanks

liqisa avatar Oct 12 '17 03:10 liqisa

There is a problem in Ubuntu 16.04 ROS Kinetic.

Grasp configuration parameter `pregrasp_time_from_start` missing from rosparam server. Did you load your end effector's configuration yaml file? Searching in namespace: /moveit_simple_grasps_server/right
[moveit_simple_grasps_server-1] process has died [pid 28316, exit code -5, cmd /

Could you help me ? Thank you! @qboticslabs

robotlearning123 avatar Oct 30 '17 02:10 robotlearning123

Hi @wangcongrobot 我也遇到了同样的问题,系统版本的问题,而且这个package应该是indigo下的

liqisa avatar Oct 30 '17 02:10 liqisa

@liqisa @wangcongrobot 想问一下moveit_simple_grasps 在ubuntu14.04.5的兼容问题解决了吗?谢谢你的回复

iamWHTWD avatar Jan 12 '18 14:01 iamWHTWD

my system is Ubuntu 14.04,5,moveit_simple_grasps ,Have you solved the compatibility problem in ubuntu14.04.5,thank you

iamWHTWD avatar Jan 13 '18 09:01 iamWHTWD

Lenthin I also had the problems my friends had previously and I dowloaded the updated moveit_simple_grasps1.zip and it worked! However it still remains an error in the package I would like to alert you guys.... in object "Collision Wall", the source code .h asks for 7 arguments (double, double...) and in the updated file provided, the fifth argument is named as a char, so you need to change and give a float (double) argument which is the height of the wall....after this changing (Add parameters which is missing in this .cpp file) you can compile and it will work. I also had a problem with teleop_pad.cpp in chapter 6 @qboticslabs which I solved including a #ifndef Q_MOC_RUN.... I have taken this solutiion from a forum but I really did not understand what are the Qt objects and why this solution solved my problem....could you explain me? Thanks for the book I am finishing it....and it is very good!

marcusvinicius178 avatar Jul 01 '19 17:07 marcusvinicius178

Hello everyone, I have been following your book 'Mastering_ROS_for_Robotics_Programming'. I am stuck in chapter 10 where I am not able to execute a launch file i.e. roslaunch seven_dof_arm_gazebo grasp_generator_server.launch.

When I execute this I get the following error, Capture

I have download the updated folder of moveit_simple_grasps as provided above but when I run catkin_make , I get the following errors

Scanning dependencies of target moveit_simple_grasps_test
Scanning dependencies of target moveit_simple_grasps_server
Scanning dependencies of target moveit_simple_grasps_filter_test
[ 96%] Building CXX object moveit_simple_grasps/CMakeFiles/moveit_simple_grasps_test.dir/src/simple_grasps_test.cpp.o
[ 96%] Building CXX object moveit_simple_grasps/CMakeFiles/moveit_simple_grasps_server.dir/src/simple_grasps_server.cpp.o
[ 96%] Building CXX object moveit_simple_grasps/CMakeFiles/moveit_simple_grasps_filter_test.dir/src/grasp_filter_test.cpp.o
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_test.cpp:49:0:
/home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/custom_environment2.h: In function ‘void baxter_pick_place::createEnvironment(moveit_visual_tools::MoveItVisualToolsPtr)’:
/home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/custom_environment2.h:86:126: warning: ‘bool moveit_visual_tools::MoveItVisualTools::publishCollisionTable(double, double, double, double, double, double, std::__cxx11::string, const rviz_visual_tools::colors&)’ is deprecated [-Wdeprecated-declarations]
   visual_tools_->publishCollisionTable(0.78,    -0.8,    0,     0.4,         1.4,          0.47,        SUPPORT_SURFACE1_NAME); // computer monitor
                                                                                                                              ^
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/simple_grasps.h:60:0,
                 from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_test.cpp:46:
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:464:8: note: declared here
   bool publishCollisionTable(double x, double y, double angle, double width, double height, double depth,
        ^~~~~~~~~~~~~~~~~~~~~
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_test.cpp:49:0:
/home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/custom_environment2.h:87:126: warning: ‘bool moveit_visual_tools::MoveItVisualTools::publishCollisionTable(double, double, double, double, double, double, std::__cxx11::string, const rviz_visual_tools::colors&)’ is deprecated [-Wdeprecated-declarations]
   visual_tools_->publishCollisionTable(0.78,    -0.45,   0,     0.4,         0.7,          0.47,        SUPPORT_SURFACE2_NAME); // my desk
                                                                                                                              ^
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/simple_grasps.h:60:0,
                 from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_test.cpp:46:
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:464:8: note: declared here
   bool publishCollisionTable(double x, double y, double angle, double width, double height, double depth,
        ^~~~~~~~~~~~~~~~~~~~~
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_test.cpp:49:0:
/home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/custom_environment2.h:88:126: warning: ‘bool moveit_visual_tools::MoveItVisualTools::publishCollisionTable(double, double, double, double, double, double, std::__cxx11::string, const rviz_visual_tools::colors&)’ is deprecated [-Wdeprecated-declarations]
   visual_tools_->publishCollisionTable(TABLE_X, TABLE_Y, 0,     TABLE_WIDTH, TABLE_HEIGHT, TABLE_DEPTH, SUPPORT_SURFACE3_NAME); // andy table
                                                                                                                              ^
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/simple_grasps.h:60:0,
                 from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_test.cpp:46:
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:464:8: note: declared here
   bool publishCollisionTable(double x, double y, double angle, double width, double height, double depth,
        ^~~~~~~~~~~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_test.cpp: In constructor ‘baxter_pick_place::GraspGeneratorTest::GraspGeneratorTest(int)’:
/home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_test.cpp:99:20: error: ‘using element_type = class moveit_visual_tools::MoveItVisualTools {aka class moveit_visual_tools::MoveItVisualTools}’ has no member named ‘setMuted’
     visual_tools_->setMuted(false);
                    ^~~~~~~~
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/grasp_filter_test.cpp:66:0:
/home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/custom_environment2.h: In function ‘void baxter_pick_place::createEnvironment(moveit_visual_tools::MoveItVisualToolsPtr)’:
/home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/custom_environment2.h:86:126: warning: ‘bool moveit_visual_tools::MoveItVisualTools::publishCollisionTable(double, double, double, double, double, double, std::__cxx11::string, const rviz_visual_tools::colors&)’ is deprecated [-Wdeprecated-declarations]
   visual_tools_->publishCollisionTable(0.78,    -0.8,    0,     0.4,         1.4,          0.47,        SUPPORT_SURFACE1_NAME); // computer monitor
                                                                                                                              ^
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/simple_grasps.h:60:0,
                 from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/grasp_filter_test.cpp:60:
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:464:8: note: declared here
   bool publishCollisionTable(double x, double y, double angle, double width, double height, double depth,
        ^~~~~~~~~~~~~~~~~~~~~
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/grasp_filter_test.cpp:66:0:
/home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/custom_environment2.h:87:126: warning: ‘bool moveit_visual_tools::MoveItVisualTools::publishCollisionTable(double, double, double, double, double, double, std::__cxx11::string, const rviz_visual_tools::colors&)’ is deprecated [-Wdeprecated-declarations]
   visual_tools_->publishCollisionTable(0.78,    -0.45,   0,     0.4,         0.7,          0.47,        SUPPORT_SURFACE2_NAME); // my desk
                                                                                                                              ^
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/simple_grasps.h:60:0,
                 from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/grasp_filter_test.cpp:60:
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:464:8: note: declared here
   bool publishCollisionTable(double x, double y, double angle, double width, double height, double depth,
        ^~~~~~~~~~~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_test.cpp:116:78: error: no matching function for call to ‘moveit_visual_tools::MoveItVisualTools::loadEEMarker(std::__cxx11::string&, std::__cxx11::string&)’
       visual_tools_->loadEEMarker(grasp_data_.ee_group_, planning_group_name_);
                                                                              ^
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/simple_grasps.h:60:0,
                 from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_test.cpp:46:
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:188:8: note: candidate: bool moveit_visual_tools::MoveItVisualTools::loadEEMarker(const moveit::core::JointModelGroup*, const std::vector<double>&)
   bool loadEEMarker(const robot_model::JointModelGroup* ee_jmg, const std::vector<double>& ee_joint_pos = {});
        ^~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:188:8: note:   no known conversion for argument 1 from ‘std::__cxx11::string {aka std::__cxx11::basic_string<char>}’ to ‘const moveit::core::JointModelGroup*’
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/grasp_filter_test.cpp:66:0:
/home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/custom_environment2.h:88:126: warning: ‘bool moveit_visual_tools::MoveItVisualTools::publishCollisionTable(double, double, double, double, double, double, std::__cxx11::string, const rviz_visual_tools::colors&)’ is deprecated [-Wdeprecated-declarations]
   visual_tools_->publishCollisionTable(TABLE_X, TABLE_Y, 0,     TABLE_WIDTH, TABLE_HEIGHT, TABLE_DEPTH, SUPPORT_SURFACE3_NAME); // andy table
                                                                                                                              ^
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/simple_grasps.h:60:0,
                 from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/grasp_filter_test.cpp:60:
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:464:8: note: declared here
   bool publishCollisionTable(double x, double y, double angle, double width, double height, double depth,
        ^~~~~~~~~~~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_test.cpp:117:82: error: no matching function for call to ‘moveit_visual_tools::MoveItVisualTools::publishEEMarkers(geometry_msgs::Pose&, rviz_visual_tools::colors, const char [9])’
       visual_tools_->publishEEMarkers(pose, rviz_visual_tools::ORANGE, "test_eef");
                                                                                  ^
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/simple_grasps.h:60:0,
                 from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_test.cpp:46:
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:223:8: note: candidate: bool moveit_visual_tools::MoveItVisualTools::publishEEMarkers(const Isometry3d&, const moveit::core::JointModelGroup*, const std::vector<double>&, const rviz_visual_tools::colors&, const string&)
   bool publishEEMarkers(const Eigen::Isometry3d& pose, const robot_model::JointModelGroup* ee_jmg,
        ^~~~~~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:223:8: note:   no known conversion for argument 1 from ‘geometry_msgs::Pose {aka geometry_msgs::Pose_<std::allocator<void> >}’ to ‘const Isometry3d& {aka const Eigen::Transform<double, 3, 1>&}’
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:230:8: note: candidate: bool moveit_visual_tools::MoveItVisualTools::publishEEMarkers(const Isometry3d&, const moveit::core::JointModelGroup*, const rviz_visual_tools::colors&, const string&)
   bool publishEEMarkers(const Eigen::Isometry3d& pose, const robot_model::JointModelGroup* ee_jmg,
        ^~~~~~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:230:8: note:   no known conversion for argument 1 from ‘geometry_msgs::Pose {aka geometry_msgs::Pose_<std::allocator<void> >}’ to ‘const Isometry3d& {aka const Eigen::Transform<double, 3, 1>&}’
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:236:8: note: candidate: bool moveit_visual_tools::MoveItVisualTools::publishEEMarkers(const Pose&, const moveit::core::JointModelGroup*, const rviz_visual_tools::colors&, const string&)
   bool publishEEMarkers(const geometry_msgs::Pose& pose, const robot_model::JointModelGroup* ee_jmg,
        ^~~~~~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:236:8: note:   no known conversion for argument 2 from ‘rviz_visual_tools::colors’ to ‘const moveit::core::JointModelGroup*’
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:242:8: note: candidate: bool moveit_visual_tools::MoveItVisualTools::publishEEMarkers(const Pose&, const moveit::core::JointModelGroup*, const std::vector<double>&, const rviz_visual_tools::colors&, const string&)
   bool publishEEMarkers(const geometry_msgs::Pose& pose, const robot_model::JointModelGroup* ee_jmg,
        ^~~~~~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:242:8: note:   no known conversion for argument 2 from ‘rviz_visual_tools::colors’ to ‘const moveit::core::JointModelGroup*’
/home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_test.cpp:122:78: error: no matching function for call to ‘moveit_visual_tools::MoveItVisualTools::loadEEMarker(std::__cxx11::string&, std::__cxx11::string&)’
       visual_tools_->loadEEMarker(grasp_data_.ee_group_, planning_group_name_);
                                                                              ^
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/simple_grasps.h:60:0,
                 from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_test.cpp:46:
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:188:8: note: candidate: bool moveit_visual_tools::MoveItVisualTools::loadEEMarker(const moveit::core::JointModelGroup*, const std::vector<double>&)
   bool loadEEMarker(const robot_model::JointModelGroup* ee_jmg, const std::vector<double>& ee_joint_pos = {});
        ^~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:188:8: note:   no known conversion for argument 1 from ‘std::__cxx11::string {aka std::__cxx11::basic_string<char>}’ to ‘const moveit::core::JointModelGroup*’
/home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_test.cpp:123:81: error: no matching function for call to ‘moveit_visual_tools::MoveItVisualTools::publishEEMarkers(geometry_msgs::Pose&, rviz_visual_tools::colors, const char [9])’
       visual_tools_->publishEEMarkers(pose, rviz_visual_tools::GREEN, "test_eef");
                                                                                 ^
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/simple_grasps.h:60:0,
                 from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_test.cpp:46:
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:223:8: note: candidate: bool moveit_visual_tools::MoveItVisualTools::publishEEMarkers(const Isometry3d&, const moveit::core::JointModelGroup*, const std::vector<double>&, const rviz_visual_tools::colors&, const string&)
   bool publishEEMarkers(const Eigen::Isometry3d& pose, const robot_model::JointModelGroup* ee_jmg,
        ^~~~~~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:223:8: note:   no known conversion for argument 1 from ‘geometry_msgs::Pose {aka geometry_msgs::Pose_<std::allocator<void> >}’ to ‘const Isometry3d& {aka const Eigen::Transform<double, 3, 1>&}’
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:230:8: note: candidate: bool moveit_visual_tools::MoveItVisualTools::publishEEMarkers(const Isometry3d&, const moveit::core::JointModelGroup*, const rviz_visual_tools::colors&, const string&)
   bool publishEEMarkers(const Eigen::Isometry3d& pose, const robot_model::JointModelGroup* ee_jmg,
        ^~~~~~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:230:8: note:   no known conversion for argument 1 from ‘geometry_msgs::Pose {aka geometry_msgs::Pose_<std::allocator<void> >}’ to ‘const Isometry3d& {aka const Eigen::Transform<double, 3, 1>&}’
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:236:8: note: candidate: bool moveit_visual_tools::MoveItVisualTools::publishEEMarkers(const Pose&, const moveit::core::JointModelGroup*, const rviz_visual_tools::colors&, const string&)
   bool publishEEMarkers(const geometry_msgs::Pose& pose, const robot_model::JointModelGroup* ee_jmg,
        ^~~~~~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:236:8: note:   no known conversion for argument 2 from ‘rviz_visual_tools::colors’ to ‘const moveit::core::JointModelGroup*’
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:242:8: note: candidate: bool moveit_visual_tools::MoveItVisualTools::publishEEMarkers(const Pose&, const moveit::core::JointModelGroup*, const std::vector<double>&, const rviz_visual_tools::colors&, const string&)
   bool publishEEMarkers(const geometry_msgs::Pose& pose, const robot_model::JointModelGroup* ee_jmg,
        ^~~~~~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:242:8: note:   no known conversion for argument 2 from ‘rviz_visual_tools::colors’ to ‘const moveit::core::JointModelGroup*’
/home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_test.cpp:145:22: error: ‘using element_type = class moveit_visual_tools::MoveItVisualTools {aka class moveit_visual_tools::MoveItVisualTools’ has no member named ‘publishBlock’; did you mean ‘publishCone’?
       visual_tools_->publishBlock(object_pose, rviz_visual_tools::BLUE, BLOCK_SIZE);
                      ^~~~~~~~~~~~
                      publishCone
/home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_test.cpp:153:88: error: no matching function for call to ‘moveit_visual_tools::MoveItVisualTools::publishAnimatedGrasps(std::vector<moveit_msgs::Grasp_<std::allocator<void> > >&, std::__cxx11::string&)’
       visual_tools_->publishAnimatedGrasps(possible_grasps, grasp_data_.ee_parent_link_);
                                                                                        ^
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/simple_grasps.h:60:0,
                 from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_test.cpp:46:
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:262:8: note: candidate: bool moveit_visual_tools::MoveItVisualTools::publishAnimatedGrasps(const std::vector<moveit_msgs::Grasp_<std::allocator<void> > >&, const moveit::core::JointModelGroup*, double)
   bool publishAnimatedGrasps(const std::vector<moveit_msgs::Grasp>& possible_grasps,
        ^~~~~~~~~~~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:262:8: note:   no known conversion for argument 2 from ‘std::__cxx11::string {aka std::__cxx11::basic_string<char>}’ to ‘const moveit::core::JointModelGroup*’
/home/murtaza/catkin_ws/src/moveit_simple_grasps/src/grasp_filter_test.cpp: In constructor ‘moveit_simple_grasps::GraspGeneratorTest::GraspGeneratorTest(int)’:
/home/murtaza/catkin_ws/src/moveit_simple_grasps/src/grasp_filter_test.cpp:135:20: error: ‘using element_type = class moveit_visual_tools::MoveItVisualTools {aka class moveit_visual_tools::MoveItVisualTools}’ has no member named ‘setMuted’
     visual_tools_->setMuted(false);
                    ^~~~~~~~
/home/murtaza/catkin_ws/src/moveit_simple_grasps/src/grasp_filter_test.cpp:136:76: error: no matching function for call to ‘moveit_visual_tools::MoveItVisualTools::loadEEMarker(std::__cxx11::string&, std::__cxx11::string&)’
     visual_tools_->loadEEMarker(grasp_data_.ee_group_, planning_group_name_);
                                                                            ^
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/simple_grasps.h:60:0,
                 from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/grasp_filter_test.cpp:60:
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:188:8: note: candidate: bool moveit_visual_tools::MoveItVisualTools::loadEEMarker(const moveit::core::JointModelGroup*, const std::vector<double>&)
   bool loadEEMarker(const robot_model::JointModelGroup* ee_jmg, const std::vector<double>& ee_joint_pos = {});
        ^~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:188:8: note:   no known conversion for argument 1 from ‘std::__cxx11::string {aka std::__cxx11::basic_string<char>}’ to ‘const moveit::core::JointModelGroup*’
/home/murtaza/catkin_ws/src/moveit_simple_grasps/src/grasp_filter_test.cpp:137:20: error: ‘using element_type = class moveit_visual_tools::MoveItVisualTools {aka class moveit_visual_tools::MoveItVisualTools}’ has no member named ‘setFloorToBaseHeight’
     visual_tools_->setFloorToBaseHeight(-0.9);
                    ^~~~~~~~~~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_simple_grasps/src/grasp_filter_test.cpp:143:110: warning: ‘bool moveit_visual_tools::MoveItVisualTools::publishCollisionTable(double, double, double, double, double, double, std::__cxx11::string, const rviz_visual_tools::colors&)’ is deprecated [-Wdeprecated-declarations]
     visual_tools_->publishCollisionTable(TABLE_X, TABLE_Y, 0, TABLE_WIDTH, TABLE_HEIGHT, TABLE_DEPTH, "table");
                                                                                                              ^
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/simple_grasps.h:60:0,
                 from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/grasp_filter_test.cpp:60:
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:464:8: note: declared here
   bool publishCollisionTable(double x, double y, double angle, double width, double height, double depth,
        ^~~~~~~~~~~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_simple_grasps/src/grasp_filter_test.cpp:172:22: error: ‘using element_type = class moveit_visual_tools::MoveItVisualTools {aka class moveit_visual_tools::MoveItVisualTools}’ has no member named ‘publishBlock’; did you mean ‘publishCone’?
       visual_tools_->publishBlock(object_pose, rviz_visual_tools::BLUE, BLOCK_SIZE);
                      ^~~~~~~~~~~~
                      publishCone
/home/murtaza/catkin_ws/src/moveit_simple_grasps/src/grasp_filter_test.cpp:185:88: error: no matching function for call to ‘moveit_visual_tools::MoveItVisualTools::publishAnimatedGrasps(std::vector<moveit_msgs::Grasp_<std::allocator<void> > >&, std::__cxx11::string&)’
       visual_tools_->publishAnimatedGrasps(possible_grasps, grasp_data_.ee_parent_link_);
                                                                                        ^
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/simple_grasps.h:60:0,
                 from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/grasp_filter_test.cpp:60:
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:262:8: note: candidate: bool moveit_visual_tools::MoveItVisualTools::publishAnimatedGrasps(const std::vector<moveit_msgs::Grasp_<std::allocator<void> > >&, const moveit::core::JointModelGroup*, double)
   bool publishAnimatedGrasps(const std::vector<moveit_msgs::Grasp>& possible_grasps,
        ^~~~~~~~~~~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:262:8: note:   no known conversion for argument 2 from ‘std::__cxx11::string {aka std::__cxx11::basic_string<char>}’ to ‘const moveit::core::JointModelGroup*’
/home/murtaza/catkin_ws/src/moveit_simple_grasps/src/grasp_filter_test.cpp:186:81: error: no matching function for call to ‘moveit_visual_tools::MoveItVisualTools::publishIKSolutions(std::vector<trajectory_msgs::JointTrajectoryPoint_<std::allocator<void> >, std::allocator<trajectory_msgs::JointTrajectoryPoint_<std::allocator<void> > > >&, std::__cxx11::string&, double)’
       visual_tools_->publishIKSolutions(ik_solutions, planning_group_name_, 0.25);
                                                                                 ^
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/simple_grasps.h:60:0,
                 from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/grasp_filter_test.cpp:60:
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:282:8: note: candidate: bool moveit_visual_tools::MoveItVisualTools::publishIKSolutions(const std::vector<trajectory_msgs::JointTrajectoryPoint_<std::allocator<void> >, std::allocator<trajectory_msgs::JointTrajectoryPoint_<std::allocator<void> > > >&, const moveit::core::JointModelGroup*, double)
   bool publishIKSolutions(const std::vector<trajectory_msgs::JointTrajectoryPoint>& ik_solutions,
        ^~~~~~~~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:282:8: note:   no known conversion for argument 2 from ‘std::__cxx11::string {aka std::__cxx11::basic_string<char>}’ to ‘const moveit::core::JointModelGroup*’
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_server.cpp:53:0:
/home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/custom_environment2.h: In function ‘void baxter_pick_place::createEnvironment(moveit_visual_tools::MoveItVisualToolsPtr)’:
/home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/custom_environment2.h:86:126: warning: ‘bool moveit_visual_tools::MoveItVisualTools::publishCollisionTable(double, double, double, double, double, double, std::__cxx11::string, const rviz_visual_tools::colors&)’ is deprecated [-Wdeprecated-declarations]
   visual_tools_->publishCollisionTable(0.78,    -0.8,    0,     0.4,         1.4,          0.47,        SUPPORT_SURFACE1_NAME); // computer monitor
                                                                                                                              ^
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/simple_grasps.h:60:0,
                 from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_server.cpp:46:
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:464:8: note: declared here
   bool publishCollisionTable(double x, double y, double angle, double width, double height, double depth,
        ^~~~~~~~~~~~~~~~~~~~~
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_server.cpp:53:0:
/home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/custom_environment2.h:87:126: warning: ‘bool moveit_visual_tools::MoveItVisualTools::publishCollisionTable(double, double, double, double, double, double, std::__cxx11::string, const rviz_visual_tools::colors&)’ is deprecated [-Wdeprecated-declarations]
   visual_tools_->publishCollisionTable(0.78,    -0.45,   0,     0.4,         0.7,          0.47,        SUPPORT_SURFACE2_NAME); // my desk
                                                                                                                              ^
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/simple_grasps.h:60:0,
                 from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_server.cpp:46:
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:464:8: note: declared here
   bool publishCollisionTable(double x, double y, double angle, double width, double height, double depth,
        ^~~~~~~~~~~~~~~~~~~~~
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_server.cpp:53:0:
/home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/custom_environment2.h:88:126: warning: ‘bool moveit_visual_tools::MoveItVisualTools::publishCollisionTable(double, double, double, double, double, double, std::__cxx11::string, const rviz_visual_tools::colors&)’ is deprecated [-Wdeprecated-declarations]
   visual_tools_->publishCollisionTable(TABLE_X, TABLE_Y, 0,     TABLE_WIDTH, TABLE_HEIGHT, TABLE_DEPTH, SUPPORT_SURFACE3_NAME); // andy table
                                                                                                                              ^
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/simple_grasps.h:60:0,
                 from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_server.cpp:46:
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:464:8: note: declared here
   bool publishCollisionTable(double x, double y, double angle, double width, double height, double depth,
        ^~~~~~~~~~~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_server.cpp: In constructor ‘moveit_simple_grasps::GraspGeneratorServer::GraspGeneratorServer(const string&, const string&)’:
/home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_server.cpp:151:22: error: ‘using element_type = class moveit_visual_tools::MoveItVisualTools {aka class moveit_visual_tools::MoveItVisualTools}’ has no member named ‘setMuted’
       visual_tools_->setMuted(false);
                      ^~~~~~~~
/home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_server.cpp:152:78: error: no matching function for call to ‘moveit_visual_tools::MoveItVisualTools::loadEEMarker(std::__cxx11::string&, std::__cxx11::string&)’
       visual_tools_->loadEEMarker(grasp_data_.ee_group_, planning_group_name_);
                                                                              ^
In file included from /home/murtaza/catkin_ws/src/moveit_simple_grasps/include/moveit_simple_grasps/simple_grasps.h:60:0,
                 from /home/murtaza/catkin_ws/src/moveit_simple_grasps/src/simple_grasps_server.cpp:46:
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:188:8: note: candidate: bool moveit_visual_tools::MoveItVisualTools::loadEEMarker(const moveit::core::JointModelGroup*, const std::vector<double>&)
   bool loadEEMarker(const robot_model::JointModelGroup* ee_jmg, const std::vector<double>& ee_joint_pos = {});
        ^~~~~~~~~~~~
/home/murtaza/catkin_ws/src/moveit_visual_tools/include/moveit_visual_tools/moveit_visual_tools.h:188:8: note:   no known conversion for argument 1 from ‘std::__cxx11::string {aka std::__cxx11::basic_string<char>}’ to ‘const moveit::core::JointModelGroup*’
moveit_simple_grasps/CMakeFiles/moveit_simple_grasps_test.dir/build.make:62: recipe for target 'moveit_simple_grasps/CMakeFiles/moveit_simple_grasps_test.dir/src/simple_grasps_test.cpp.o' failed
make[2]: *** [moveit_simple_grasps/CMakeFiles/moveit_simple_grasps_test.dir/src/simple_grasps_test.cpp.o] Error 1
CMakeFiles/Makefile2:7998: recipe for target 'moveit_simple_grasps/CMakeFiles/moveit_simple_grasps_test.dir/all' failed
make[1]: *** [moveit_simple_grasps/CMakeFiles/moveit_simple_grasps_test.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
moveit_simple_grasps/CMakeFiles/moveit_simple_grasps_filter_test.dir/build.make:62: recipe for target 'moveit_simple_grasps/CMakeFiles/moveit_simple_grasps_filter_test.dir/src/grasp_filter_test.cpp.o' failed
make[2]: *** [moveit_simple_grasps/CMakeFiles/moveit_simple_grasps_filter_test.dir/src/grasp_filter_test.cpp.o] Error 1
CMakeFiles/Makefile2:8231: recipe for target 'moveit_simple_grasps/CMakeFiles/moveit_simple_grasps_filter_test.dir/all' failed
make[1]: *** [moveit_simple_grasps/CMakeFiles/moveit_simple_grasps_filter_test.dir/all] Error 2
moveit_simple_grasps/CMakeFiles/moveit_simple_grasps_server.dir/build.make:62: recipe for target 'moveit_simple_grasps/CMakeFiles/moveit_simple_grasps_server.dir/src/simple_grasps_server.cpp.o' failed
make[2]: *** [moveit_simple_grasps/CMakeFiles/moveit_simple_grasps_server.dir/src/simple_grasps_server.cpp.o] Error 1
CMakeFiles/Makefile2:8118: recipe for target 'moveit_simple_grasps/CMakeFiles/moveit_simple_grasps_server.dir/all' failed
make[1]: *** [moveit_simple_grasps/CMakeFiles/moveit_simple_grasps_server.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j8 -l8" failed

I have also edited the custom_environment2.h providing 7 arguments instead of 5 which is, image

I have tried it on both ros-melodic and ros-kinetic I get the same error on both the versions

I would be glad if you can help me out

murtazabasu avatar Aug 12 '19 14:08 murtazabasu

hi,when i catkin_make,i get the following error: fatal error: moveit_simple_grasps/GenerateGraspsAction.h: no such file or directpry #include <moveit_simple_grasps/GenerateGraspsAction.h> i would be glad if someone help me out.

learningxiaobai avatar Jan 06 '21 11:01 learningxiaobai

@learningxiaobai Can you put Ubuntu version and ROS version you are using?

qboticslabs avatar Jan 06 '21 11:01 qboticslabs

@learningxiaobai Can you put Ubuntu version and ROS version you are using?

18.04,melodic

learningxiaobai avatar Jan 06 '21 11:01 learningxiaobai

@learningxiaobai The moveit_simple_grasps is currently depreciated, can you reconsider to use the following packages

https://github.com/ros-planning/moveit_grasps

https://ros-planning.github.io/moveit_tutorials/doc/moveit_grasps/moveit_grasps_tutorial.html

qboticslabs avatar Jan 06 '21 11:01 qboticslabs

@learningxiaobai The moveit_simple_grasps is currently depreciated, can you reconsider to use the following packages

https://github.com/ros-planning/moveit_grasps

https://ros-planning.github.io/moveit_tutorials/doc/moveit_grasps/moveit_grasps_tutorial.html

thanks,i will try

learningxiaobai avatar Jan 06 '21 11:01 learningxiaobai

Are there any packages suitable for the noetic version

lzyyy58 avatar Oct 26 '22 13:10 lzyyy58

@learningxiaobai Have you tried?

lzyyy58 avatar Oct 26 '22 13:10 lzyyy58