rviz_all 패키지 제작
$ catkin_create_pkg rviz_all rospy tf geometry_msgs urdf rviz xacro
$ cd rviz_all/
$ mkdir launch
$ mkdir urdf
$ mkdir rviz
사용 파일들
- urdf
- rviz_all.urdf(자동차 모델링인 xycar_3d.urdf를 바탕으로 lidar 데이터를 시각화한 lidar_urdf.urdf 를 추가했다)
- 8자 주행
- odom_8_drive.py
- 8자 주행을 하기 위한 angle, speed 발행
- 노드 : drive
- pub_topic : xycar_motor 토픽(xycar_motor 타입)
- converter.py
- xycar_motor 토픽을 joint_states 토픽으로 변환하는 코드
- sub_topic :xycar_motor (xycar_motor 타입)
- pub_topic :joint_states (JointState 타입)
- angle과 speed를 받아 JointState 타입으로 만든다(angle * 0.4, wheel 돌아가는 각도(-3.14~3.14)
- lidar 토픽 발행
- rosbag 실행으로 scan 토픽 발행
- rviz_lidar.py
- scan 토픽을 받아서 4방향의 거리 각각을 발행
- sub_topic : scan (LaserScan 타입)
- pub_topic : scan1, scan2, scan3, scan4 (Range 타입, Range의 range에 거리 정보 담는다)

-
imu 토픽 발행
- imu_generator.py
- imu_data.txt파일에서 데이터를 얻어 imu 토픽 발행
- pub_topic :imu(Imu타입)
- imu토픽에 퀀터니언 값으로 x,y,z,w가 들어있다.
-
odom 토픽 발행
- odom_imu.py
- imu, joint_state 토픽을 받아 odom토픽을 발행하는 코드
- rviz_odom.py 활용하여 작성
- joint_states 토픽을 받아 odom 토픽으로 변환
- sub_topic : joint_states (JointState 타입)
- pub_topic : odom (Odometry 타입)
- angle을 통해 현재 위치 추정
- quaternion 형식이다
