안녕하세요. p3dx 플랫폼을 조이스틱으로 원격 조정하고 LMS111 2D LIDAR를 이용하여 Hector SLAM진행 중입니다.
demo_pioneer 에서 p3dx를 조이스틱으로 원격 조정하는데 성공하였으나 2D 라이다 연결이 잘 안돼서요ㅠ
git에서 레이저및 매핑 노드를 활용하고자 ros_arnl 소스를 받고 arnl과 arnlBase 라이브러리를 설치하였습니다.
그리고 catkin_make를 진행하는데 에러가 나와서요. 해결방법을 잘 모르겠습니다ㅠ
다음은 에러 내용입니다.
[ 80%] /home/a/catkin_ws/src/ros-arnl/ArnlSystem.cpp: In member function ‘ArnlSystem::Error ArnlSystem::setup()’:
/home/a/catkin_ws/src/ros-arnl/ArnlSystem.cpp:272:95: error: no matching function for call to ‘ArServerModeJogPosition::ArServerModeJogPosition(ArServerBase*&, ArRobot*&, const char [16], ArServerHandlerCommands*&)’
modeJogPosition = new ArServerModeJogPosition(serverBase, robot, "jogPositionMode", commands);
^
/home/a/catkin_ws/src/ros-arnl/ArnlSystem.cpp:272:95: note: candidates are:
In file included from /home/a/catkin_ws/src/ros-arnl/ArnlSystem.cpp:13:0:
/usr/local/Arnl/include/ArNetworking/ArServerModeJogPosition.h:31:12: note: ArServerModeJogPosition::ArServerModeJogPosition(ArServerBase*, ArRobot*, const char*)
AREXPORT ArServerModeJogPosition(ArServerBase *server, ArRobot *robot, const char *name = "jogPositionMode");
^
/usr/local/Arnl/include/ArNetworking/ArServerModeJogPosition.h:31:12: note: candidate expects 3 arguments, 4 provided
/usr/local/Arnl/include/ArNetworking/ArServerModeJogPosition.h:28:7: note: ArServerModeJogPosition::ArServerModeJogPosition(const ArServerModeJogPosition&)
class ArServerModeJogPosition : public ArServerMode
^e
/usr/local/Arnl/include/ArNetworking/ArServerModeJogPosition.h:28:7: note: candidate expects 1 argument, 4 provided
Built target rosarnl_generate_messages_cpp
[ 90%] make[2]: *** [ros-arnl/CMakeFiles/rosarnl_node.dir/ArnlSystem.cpp.o] Error 1
make[1]: *** [ros-arnl/CMakeFiles/rosarnl_node.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Built target pub_joint_trajectory_test
[ 90%] Built target p2os_msgs_generate_messages
[ 90%] Built target hector_nav_msgs_generate_messages
make: *** [all] Error 2
Invoking "make -j4 -l4" failed
a@a:~/catkin_ws$
조언부탁드리겠습니다ㅠㅜ!!
두번째 방법으로 demo_pioneer를 git에서 다운받아서 시도해보았습니다.
http://wiki.ros.org/demo_pioneer 이곳에서
$ sudo chmod a+rw /dev/ttyUSB0
$ KERNEL=="ttyUSB*", MODE="0666"
$ source ~/catkin_ws/devel/setup.bash
$ roslaunch demo_pioneer pioneer-teleop.launch
위 과정을 거쳐 조이스틱으로 p3dx를 원격조종하는데 성공하였습니다.
이후
https://github.com/clearpathrobotics/lms1xx 에서 소스를 다운받아
LMS1xx.launch 파일에서 Lidar의 ip주소를 변경해주었습니다.
<launch>
<arg name="host" default="192.168.0.1" /> //라이다 ip주소를 수정하였습니다.
<node pkg="lms1xx" name="lms1xx" type="LMS1xx_node" output="screen">
<param name="host" value="$(arg host)" />e
</node>
</launch>
~/.bashrc 는 다음과 같이 설정해두었습니다.
#export ROS_MASTER_URI=
http://192.168.0.113:11311#export ROS_HOSTNAME=192.168.0.113
export ROS_MASTER_URI=
http://localhost:11311 그리고나서
roslaunch lms1xx LMS1xx.launch 실행을 하니 다음과 같이 통신이 잘 이루어지지 않았습니다.
SUMMARY
========
PARAMETERS
* /lms1xx/host: 192.168.0.1
* /rosdistro: indigo
* /rosversion: 1.11.20
NODES
/
lms1xx (lms1xx/LMS1xx_node)
ROS_MASTER_URI=
http://localhost:11311core service [/rosout] found
process[lms1xx-1]: started with pid [11362]
[ INFO] [1470027959.886962967]: Connecting to laser at 192.168.0.1
[ WARN] [1470027959.901367741]: Unable to get laser output range. Retrying.
[ INFO] [1470027960.901655264]: Connecting to laser at 192.168.0.1
[ WARN] [1470027960.910045535]: Unable to get laser output range. Retrying.
[ INFO] [1470027961.910291407]: Connecting to laser at 192.168.0.1
[ WARN] [1470027961.918661206]: Unable to get laser output range. Retrying.
[ INFO] [1470027962.918919198]: Connecting to laser at 192.168.0.1
[ WARN] [1470027962.926868622]: Unable to get laser output range. Retrying.
[ INFO] [1470027963.927085504]: Connecting to laser at 192.168.0.1
[ WARN] [1470027963.941903991]: Unable to get laser output range. Retrying.
^C[lms1xx-1] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
어떤 부분을 확인해봐야할지 조언 부탁드리겠습니다!
마지막으로
https://github.com/MobileRobots/amr-ros-config 의 소스를 다운받아 rviz상에 로봇모델을 띄우고자 하였으나
roslaunch amr_robots_launchfiles rviz+urdf_state.launch 를 실행시 다음과 같은 에러가 나왔습니다.나
[/home/a/catkin_ws/src/amr-ros-config/launch/rviz+urdf_state.launch] requires the 'urdf' arg to be set
The traceback for the exception was written to the log file
많이 바쁘신줄 압니다만 도움을 요청할곳이 없어 최대한 한꺼번에 많은걸 질문했습니다.
도와주세요.. 많은 조언 부탁드리겠습니다ㅠ!!
아래에 제가 참고한 레퍼런스를 적어놓았습니다!
http://wiki.ros.org/Robots/AMR_Pioneer_Compatiblehttps://github.com/MobileRobots/ros-arnlhttps://github.com/amor-ros-pkg/rosariahttps://github.com/allenh1/p2oshttps://github.com/MobileRobots/amr-ros-confighttps://github.com/dawonn/ros-p2os-driverhttps://github.com/clearpathrobotics/laser_drivers/tree/masterhttps://github.com/clearpathrobotics/lms1xxhttps://www.usna.edu/Users/cs/crabbe/SI475/current/ARNL.pdfhttp://www.inf.ufrgs.br/~prestes/Courses/Robotics/manual_pioneer.pdfhttps://github.com/lagadic/demo_pioneerhttp://wiki.ros.org/demo_pioneer