技術のこととか
#include #include int main() { ~省略~ ros::Publisher joint_pub = n.advertise("joint_states", 1); sensor_msgs::JointState joint_state; ~省略~ ユーザ入力時のコールバック { //update joint_state joint_state.header.stamp = ros::Time::now(); //稼働ジョイント数分領域確保 joint_state.name.resize(ジョイント数); joint_state.position.resize(ジョイント数); //稼働ジョイント現在角度設定。ユーザ入力に合わせてフレームIDと回転角度[rad]入力。 joint_state.name[0] ="joint1"; joint_state.position[0] = hoge0; // joint1フレームの回転角度 // joint_state.name[1] ="joint2"; joint_state.position[1] = hoge1; // joint2フレームの回転角度 // joint_state.name[2] ="joint3"; joint_state.position[2] = hoge2; // joint3フレームの回転角度 // joint_state.name[3] ="joint4"; joint_state.position[3] = hoge3; // joint4フレームの回転角度 // 以下、ジョイント数分続く。固定フレームの場合、positonは0となる。 joint_pub.publish(joint_state); } }
#include #include int main() { ~省略~ ros::Publisher joint_pub = n.advertise("joint_states", 1); sensor_msgs::JointState joint_state; ~省略~ while (ros::ok()) { //update joint_state joint_state.header.stamp = ros::Time::now(); //稼働ジョイント数分領域確保 joint_state.name.resize(ジョイント数); joint_state.position.resize(ジョイント数); //稼働ジョイント現在角度設定。フレームIDと回転角度[rad]入力。 joint_state.name[0] ="joint1"; joint_state.position[0] = hoge0; // joint1フレームの回転角度 // joint_state.name[1] ="joint2"; joint_state.position[1] = hoge1; // joint2フレームの回転角度 // joint_state.name[2] ="joint3"; joint_state.position[2] = hoge2; // joint3フレームの回転角度 // joint_state.name[3] ="joint4"; joint_state.position[3] = hoge3; // joint4フレームの回転角度 // 以下、ジョイント数分続く。固定フレームの場合、positonは0となる。 // gazebo内部の回転角度やオドメトリ計算。ジョイントの角度(hoge0 ~ hoge3)も更新。 ~省略~ joint_pub.publish(joint_state); } }
$ rosbag record /camera_info /image_raw -O images.bag
$ rostopic echo /clock
$ rostopic list
$ roslocate info ar_tools
- git: local-name: ar_tools uri: https://github.com/ar-tools/ar_tools.git version: master
$ wstool init ~/catin_ws/src
$ cd ~/catin_ws $ wstool set --target-workspace=src ar_tools --git https://github.com/ar-tools/ar_tools.git
$ wstool update ar_tools --target-workspace=src ar_tools
$ rosdep install -i --from-paths ar_tools $ cd ~/catin_ws $ catkin_make
$ cd ~/catkin_ws/src/ $ git clone https://github.com/ktossell/camera_umd.git
$ rosdep install camera_umd uvc_camera jpeg_streamer
$ cd ~/catkin_ws $ catkin_make #build the workspace
$ sudo apt-get install libv4l-dev
$ roscd uvc_camera/launch/ $ roslaunch ./camera_node.launch $ rosrun image_view image_view image:=image_raw
$ cd ~/catkin_ws $ rosdep install camera_calibration $ catkin_make
$ roslaunch uvc_camera camera_node.launch
$ rosrun camera_calibration cameracalibrator.py --size 11x7 --square 0.02 image:=/image_raw
$ mv ost.txt ost.ini $ rosrun camera_calibration_parsers convert ost.ini camera_calibration.yaml
$ roslaunch ar_pose ar_pose_single.launch